Бранимир Караџић
f7f32319c6
Fixed build.
2020-10-26 12:40:40 -07:00
Christophe Dehais
2fee82dc56
Add missing preprocessor macro for ESSL ( #2298 )
...
Co-authored-by: Christophe Dehais <christophe.dehais@fittingbox.com>
2020-10-26 10:42:55 -07:00
pheonix
72b04e3913
Shaderc SPIR-V profile additions ( #2284 )
...
* [shaderc] Add SPIR-V profiles to support Vulkan 1.1 and Vulkan 1.2.
* * Add support for Vulkan 1.1 with SPIR-V 1.4.
* Update "spirv" values to correlate with shaderc spirv profile name mappings.
* Expand on spirv profile naming and encoding documentation.
* Address PR notes
2020-10-17 20:02:51 -07:00
Christophe Dehais
daa61822d2
Accept GLSL and SPIRV on Windows ( #2286 )
...
Co-authored-by: Christophe Dehais <christophe.dehais@fittingbox.com>
2020-10-14 09:16:34 -07:00
Бранимир Караџић
adf93db26b
Updated ImGui.
2020-10-09 08:50:40 -07:00
kingscallop
436b7fab9e
Adds UAV support for D3D12, Vulkan and reworked for OpenGL, D3D11 ( #2119 )
...
* Adds UAV support for D3D12, Vulkan and reworked support for OpenGL, D3D11
UAV support is now uniform across compute and draw.
To set a UAV you just use bgfx::setImage() and IMAGE2D in the shader, just like in compute.
Due to these changes shaders will have to be recompiled.
The changes include:
- D3D11 requires patching of the UAV slot number (which is now done by modifying the DXBC instead of using a macro)
- If the DXBC binary includes a debug chunk, that is also patched to match the new slot number
- All the other renderers don't need any kind of patching
- There are some shader annotations to better convert the UAV format used in hlsl to spirv
Possibility of further enhancements:
- bgfx::setViewFrameBuffer() only supports binding to a framebuffer or, using BGFX_INVALID_HANDLE, to bind the default backbuffer. This doesn't allow for the case where there is no need to bind to either one of them, for example when using a fragment shader only to read and write to an UAV.
* Bump shader version, because they need to be recompiled.
2020-10-04 21:51:41 -07:00
Kitchen
c0bce01cc9
fix texture bind info missed in vertex shader after compiled ( #2270 )
2020-09-24 23:33:57 -07:00
云风
03871f12db
fix gcc warnings ( #2253 )
2020-09-01 20:49:08 -07:00
Martijn Courteaux
1ca9f894d1
Fix uniform stripping procedure for unexpected newlines in Metal shaderc. ( #2223 )
2020-08-16 21:08:01 -07:00
Бранимир Караџић
22df26ab70
Cleanup.
2020-07-15 10:42:23 -07:00
Бранимир Караџић
a84b13a77c
Cleanup.
2020-07-05 21:36:04 -07:00
Бранимир Караџић
301629ed16
Cleanup.
2020-07-05 21:30:52 -07:00
Бранимир Караџић
a95ddd1c0c
Reemoved use of old LineReader.
2020-06-20 15:14:54 -07:00
Бранимир Караџић
d86c16213e
Cleanup.
2020-06-18 21:20:01 -07:00
Бранимир Караџић
eec559cc55
shaderc: Initialize uniform.
2020-06-18 17:24:47 -07:00
Бранимир Караџић
2cbcb6ea90
RRenamed BX_CHECK to BX_ASSERT.
2020-06-16 10:06:18 -07:00
Бранимир Караџић
594be53891
Reverted #2021 .
2020-05-12 07:11:01 -07:00
Hugo Amnov
e1c211b537
WebGPU various small fixes ( #2140 )
2020-05-10 17:48:25 -07:00
Hugo Amnov
b62302631e
Add Webgpu backend ( #2132 )
...
* WebGPU first draft (shaderc bin version 8)
* WebGPU scripts
2020-05-08 08:53:53 -07:00
Бранимир Караџић
7f7c8a9bc0
Updated glslang.
2020-05-04 21:14:04 -07:00
Hugo Amnov
b48b084d25
Vulkan cleanup for Webgpu ( #2127 )
...
* Harmonize and simplify Vulkan SPIRV bindings mappings
* Handle Vulkan V-flip properly
* Update Embedded shaders
2020-05-03 13:54:30 -07:00
kingscallop
eaab1be079
Fix GpuShader5 extension on Intel and support 'bitsTo' functions ( #2118 )
...
GpuShader5 extension isn't supported on fragment shaders.
Bumps the GLSL version to support the 'bitsTo' functions when present on the shader.
2020-04-26 20:43:03 -07:00
Бранимир Караџић
36ec2a462d
Removed alignment macros, and added functions instead.
2020-04-19 18:23:04 -07:00
James Fulop
ea4bbbfcb7
shader read optimization ( #2109 )
...
Currently `const char * str` gets converted to a StringView when its passed to `bx::strFindNl`, incurring a strlen. We have the data to calculate the strlen and fully construct the StringView.
2020-04-15 21:12:33 -07:00
Бранимир Караџић
ba5a6b0e46
Fixed build.
2020-04-07 22:49:55 -07:00
G
f07a0f5179
Added support for the extension OES_EGL_image_external(_essl3) for GLES2/3 ( #2021 )
...
Co-authored-by: Gabriel <gabriel.sulka@visiarc.com>
2020-04-06 08:20:49 -07:00
Бранимир Караџић
6c0c5c9921
Renamed vertexdecl.* to vertexlayout.*
2020-03-28 20:06:03 -07:00
Sandy Carter
9d09b965f5
shaderc_glsl: skip interp params when parsing glslopt output
...
Keywords like `flat` qualify type names. Without skipping them, the parser
will not find the type used and fail.
2020-02-20 16:05:00 +00:00
Бранимир Караџић
82f56b5987
Happy New Year!
2020-01-14 21:37:06 -08:00
Бранимир Караџић
3f1c51203b
Cleanup.
2019-11-28 20:59:44 -08:00
Attila Kocsis
16e12b30fd
geometryv: added attrib/radius info and show 3d axes option
...
max camera distance depends on loaded mesh size
2019-11-08 07:07:19 -08:00
Attila Kocsis
84e8935180
added gltf 2.0 input to geometryc
...
Preferred output coordinate system transformation added.
glTF2.0 is tested with all models from https://github.com/KhronosGroup/glTF-Sample-Models/tree/master/2.0
Static mesh output looks ok for all of them, but as output file format hasn't changed only static mesh is exported. No animation, nodes, materials. etc.
2019-11-08 07:06:52 -08:00
Бранимир Караџић
35abd01cfb
Fixed warnings.
2019-10-05 09:52:04 -07:00
attilaz
3a6f9ff5b0
Fixed isampler and usampler for metal/spirv ( #1903 )
2019-10-04 20:03:27 -07:00
Бранимир Караџић
010676412e
Fixed issue #1894 .
2019-09-28 19:30:23 +02:00
Sandy
78614c9b55
shaderc: Add before hlsl validation option to spirv ( #1892 )
...
Fixes opaque type in struct error by disabling check.
```
Error: In Vulkan, OpTypeStruct must not contain an opaque type.
%BgfxSampler2D = OpTypeStruct %6 %8
```
2019-09-26 19:00:44 +00:00
kingscallop
65303869ab
Fixes shaderc texture array usage detection.
2019-09-01 15:06:20 -07:00
Leandro Freire
1db46f4fe6
Rename variables and constants
2019-08-17 12:32:16 -07:00
Бранимир Караџић
9009ba50ba
Cleanup.
2019-08-15 21:55:09 -07:00
Бранимир Караџић
5edeea64a9
Cleanup.
2019-08-15 21:37:35 -07:00
Бранимир Караџић
90e6afd47d
shaderc: Cleanup.
2019-08-13 19:35:10 -07:00
Rinthel
2fa32d855d
implement compute shader support
2019-08-13 18:44:42 -07:00
Leandro Freire
855623e153
Rename VertexDecl to VertexLayout
2019-08-13 18:42:01 -07:00
Attila Kocsis
e58a108387
Metal: Fix resource binding for latest spirv-cross
...
More info:
https://github.com/KhronosGroup/SPIRV-Cross/pull/1036
https://github.com/KhronosGroup/SPIRV-Cross/issues/1072
2019-08-10 09:32:16 -07:00
Rinthel Kwon
6927a9179b
vulkan renderer draft implementation
2019-08-04 19:51:16 -07:00
Бранимир Караџић
bbba6aa1ab
shaderc: Split Metal and SPIRV compilers.
2019-08-03 08:54:02 -07:00
Бранимир Караџић
564f484ab7
shaderc: Split Metal and SPIRV compilers.
2019-08-03 08:52:14 -07:00
Бранимир Караџић
1ce3e6d256
Cleanup.
2019-07-24 20:17:26 -07:00
Бранимир Караџић
bd39b5580a
Cleanup.
2019-07-24 20:12:07 -07:00
Бранимир Караџић
e91be57ff3
Cleanup.
2019-07-21 20:48:01 -07:00
Kitchen
4941a3d81c
fix devide by zero in texture viewer when construct orientation matrix ( #1825 )
2019-07-21 20:45:37 -07:00
attilaz
72d0a0c4fa
index buffer generation using final vertex data ( #1816 )
...
This results a smaller output file for some meshes.
2019-07-13 09:07:33 -07:00
Attila Kocsis
d6b3fcccc0
added geometryv
2019-06-19 21:37:35 +02:00
Attila Kocsis
62f54bb7ad
File dialog added to entry
...
Win32/Linux version is from texturev. OSX uses native dialog instead of zenity.
win32 has a fix to support win32 target: OPENFILENAMEA customData is uintptr_t instead of uint64_t.
2019-04-25 22:29:34 +02:00
Бранимир Караџић
56cbbb0283
Cleanup.
2019-04-20 19:04:31 -07:00
feserr
6d6f28b158
Show all profile modes in the usage of shaderc.
2019-04-17 09:59:18 +02:00
Бранимир Караџић
3564e2a289
Updated spirv-cross.
2019-04-14 21:53:50 -07:00
attilaz
ed885c3c5a
using meshoptimizer for vertex cache/fetch optim and index/vertex buffer compression
2019-04-13 16:07:06 +02:00
Бранимир Караџић
b323a8950c
texturev: Fixed recognizing file extension on files with extensions with multiple period separators.
2019-03-23 09:54:45 -07:00
Nick Waanders
88da162438
shaderc_spirv now emitting sampler uniforms
...
ShaderC now emits sampler uniforms for Metal and Spirv.
2019-03-12 15:23:10 -07:00
Branimir Karadžić
464a555101
texturev: Added winapi support for openFileSelectionDialog.
2019-02-19 22:42:46 -08:00
Бранимир Караџић
9ad5f41858
Fixed build.
2019-02-19 19:30:08 -08:00
Бранимир Караџић
3d7a8e904c
Cleanup.
2019-02-19 17:53:03 -08:00
Branimir Karadžić
1b9dd14683
Fixed framebuffer RW.
2019-02-18 13:40:17 -08:00
Бранимир Караџић
e29c43221d
Cleanup.
2019-02-17 22:08:18 -08:00
Бранимир Караџић
3d809c38f4
Cleanup.
2019-02-17 21:50:46 -08:00
Бранимир Караџић
f02169a4b4
Cleanup.
2019-02-17 21:48:20 -08:00
Бранимир Караџић
8cb250f1ff
texturev: Added open file dialog.
2019-02-17 20:19:23 -08:00
Branimir Karadžić
50409d2999
Fixed build.
2019-02-16 22:45:54 -08:00
Branimir Karadžić
5495b432f3
Fixed build.
2019-02-16 21:25:13 -08:00
Бранимир Караџић
26b5fc3b34
Cleanup.
2019-02-16 19:58:18 -08:00
Бранимир Караџић
a69d2ed606
shaderc: Fixed GLSL/ESSL intepolator issue.
2019-02-13 14:53:13 -08:00
Бранимир Караџић
cda981b8e3
Cleanup.
2019-02-07 18:04:28 -08:00
Бранимир Караџић
55ab61fe7d
Fixed build.
2019-02-03 19:52:12 -08:00
Бранимир Караџић
f6f6a22119
Adding bounds overlap tests.
2019-02-03 19:47:33 -08:00
attilaz
5dba3a93af
MSL vs/fs shaders use spirv-cross
2019-01-22 22:31:41 +01:00
attilaz
de94da4ab2
MSL Shadow Sampler fix and working on to support vs/fs with spirv-cross
2019-01-20 11:16:58 +01:00
attilaz
b5ac92e5fa
spirv-cross: removed rename hack
...
recompiled metal shaders
2019-01-19 09:13:46 +01:00
Бранимир Караџић
9520802e72
Cleanup.
2019-01-18 23:28:37 -08:00
Бранимир Караџић
e105c88e55
Cleanup.
2019-01-18 18:07:29 -08:00
attilaz
8e8161f743
Fix for 'used samplers was converted to static'
...
It seems reflection doesn't have a way to query used(live) samplers.
2019-01-17 21:04:23 +01:00
Nick Waanders
cc08e0c662
Update shaderc.cpp
...
Fix for crash in release mode when compiling a shader with incorrect input attributes.
2019-01-16 13:27:35 -08:00
Бранимир Караџић
d83c8439ff
Cleanup.
2019-01-15 19:38:35 -08:00
Бранимир Караџић
9d1590670e
shaderc: Fixed metal interpolation qualifiers.
2019-01-15 19:01:18 -08:00
Attila Kocsis
810c69ec49
added spirv legalization
2019-01-15 22:12:48 +01:00
Attila Kocsis
d8dcf36a79
fixed Xcode compile error
2019-01-14 09:51:31 +01:00
attilaz
b9b58296c7
metal compute shader generation
2019-01-14 09:24:06 +01:00
Бранимир Караџић
3f3a9450ba
Happy New Year!
2019-01-13 17:13:25 -08:00
Бранимир Караџић
a54f8a3f81
Renamed UniformType enum Int1 to Sampler.
2019-01-11 14:14:17 -08:00
Бранимир Караџић
3c8afe3b00
Cleanup.
2019-01-08 14:14:47 -08:00
Бранимир Караџић
fb8a82a5fd
Cleanup.
2019-01-03 14:30:59 -08:00
elvencache
96611dd944
Add HDR backbuffer support to texturev for viewing HDR textures
...
Texturev already supports exposure/stops as a way to view details in HDR textures. But results still clip to 1.0 due to 8 bits per channel back buffer. So not viable to view in native HDR.
Add UI menu to select scRGB (f16 HDR for windows) and HDR10 (pq/st2084 and rec2020 color primaries) and add shader code to properly display image. The intent is for SDR range content to look identical across all three modes. With additional details available in HDR modes when viewed on HDR monitor.
Running into trouble compiling fs_texture_array at the moment. So skipping the changes required in that shader.
*sdf.bin.h files changed because of changes in common.sh. Could roll the hdr code into a separate hdr.sh which would leave them be if that would be better?
2018-12-29 23:10:28 -08:00
junjie020
9296a44f5e
fix metal shader lack of texutre uniform variable
2018-12-26 14:19:07 +08:00
Branimir Karadžić
63e298795d
Cleanup.
2018-12-21 18:02:39 -08:00
Branimir Karadžić
85c3bedfee
shaderc: Allow space as delimiter for in/out params.
2018-12-19 20:13:33 -08:00
Pang Weiwei
5044400717
fix shaderrc generate wrong shader of matal
2018-12-19 20:26:53 +08:00
Branimir Karadžić
c5bec1ecb0
shaderc: Added input name validation to force proper attribute naming.
2018-12-17 20:47:11 -08:00
Branimir Karadžić
0740b29de7
Cleanup.
2018-12-10 19:39:00 -08:00
Branimir Karadžić
d4d453a1dd
Fixed shaderc.
2018-11-28 17:28:37 -08:00
Branimir Karadžić
d4fef78240
Cleanup.
2018-11-27 18:14:29 -08:00
Branimir Karadžić
2a6436fbc5
Cleanup.
2018-11-02 17:18:22 -07:00
Branimir Karadžić
7b8d5314d2
texturev: Fixed SDF shader.
2018-11-01 18:07:17 -07:00
Branimir Karadžić
593269e1de
shaderc: Fixed patching.
2018-10-30 15:04:17 -07:00
Branimir Karadžić
53dfd981da
Replaced eolLF with normalizeEolLf.
2018-10-28 20:48:34 -07:00
Branimir Karadžić
1def5343e6
Replaced strmb with strFindBlock.
2018-10-28 16:58:46 -07:00
Branimir Karadžić
1eb853512e
Cleanup.
2018-10-25 22:16:10 -07:00
Branimir Karadžić
72bf5f9870
Cleanup.
2018-10-22 18:08:01 -07:00
Branimir Karadžić
5579ac4686
Cleanup.
2018-10-21 20:33:29 -07:00
Branimir Karadžić
6bff345637
StringView cleanup.
2018-10-21 19:17:44 -07:00
Branimir Karadžić
623fd3cf0b
shaderc: Added in/out hash. Fixed shader binary backward compatibility.
2018-10-12 16:41:26 -07:00
Branimir Karadžić
70c06f46c3
shaderc: Updated version.
2018-10-04 19:31:46 -07:00
Branimir Karadžić
29585d85ca
Added numBackBuffers to initialization parameters.
2018-10-02 16:40:12 -07:00
Branimir Karadžić
474f6e1472
Updated glslang.
2018-10-01 20:01:14 -07:00
Branimir Karadžić
50ab2b9f2b
shaderc: Added keep-intermediate option.
2018-09-25 18:11:06 -07:00
attilaz
9f5bb14651
typo in usage? ( #1500 )
2018-09-24 11:07:32 -07:00
Branimir Karadžić
07d909b5f0
Fixed crash on NULL dereference.
2018-09-03 13:56:11 -07:00
Branimir Karadžić
a4bedea36c
Fixed warning.
2018-09-02 22:34:04 -07:00
Francis Hart
86f52812cd
Fix issue with tab character in shaderc output ( #1470 )
...
When printing the binary representation of the converted shader, shaderc
also prints a comment with the ascii readable characters for each line.
For unprintable characters, it relies on isprint() to replace them with
the '.' character.
Under MSVC 2017, isprint() may incorrectly return true for the tab
character. This patch adds a WAR to explicitly test for tabs, to make
sure they get replaced with '.'.
2018-08-28 18:08:24 -07:00
Branimir Karadžić
d2a3f6cf50
Cleanup.
2018-08-27 20:25:54 -07:00
Branimir Karadžić
4433b5bcdc
Separating sampler flags from texture creation flags.
2018-08-20 17:12:26 -07:00
Branimir Karadžić
0b0770ed39
texturev: Added image info to menu bar.
2018-07-04 13:36:14 -07:00
divinon
218c9e5ea1
Fix error line searching for HLSL compiled with debug info. ( #1414 )
2018-06-18 12:51:32 -07:00
Branimir Karadžić
a167dcda12
Fixed gl_FrontFacing behavior.
2018-06-08 16:52:09 -07:00
Branimir Karadžić
76c19a7676
shaderc: Fixed issues with VFACE that cause X4576: Non system-generated input signature parameter... error
2018-06-05 17:41:10 -07:00
Branimir Karadžić
0e0da47e61
Added primitive count to perf stats.
2018-05-17 17:24:10 -07:00
Branimir Karadžić
66cc9da65a
Updated fcpp.
2018-04-24 20:07:38 -07:00
Branimir Karadžić
80d56ed37c
Cleanup.
2018-04-23 16:23:38 -07:00
Branimir Karadžić
098bbe46e9
texturev: Moved context menu into main menu.
2018-04-20 16:42:39 -07:00
Branimir Karadžić
fe1ecd20bf
Cleanup.
2018-04-19 19:02:00 -07:00
Branimir Karadžić
28e1839342
Added transient buffer stats.
2018-04-18 16:35:57 -07:00
Branimir Karadžić
dcc559536a
shaderc: GLSL patching.
2018-04-16 18:00:24 -07:00
Branimir Karadžić
b6199d9254
Fixed DDS association mimetype.
2018-04-15 07:57:15 -07:00
Branimir Karadžić
0c405fc256
shaderc: Fixed SPIRV uniform offsets.
2018-04-14 10:30:00 -07:00
Branimir Karadžić
ec3241a869
shaderc: Remove unused uniforms from SPIRV shader.
2018-04-13 17:12:43 -07:00
Branimir Karadžić
fc87e05199
shaderc: Added SPIR-V uniform buffer size.
2018-04-12 20:20:41 -07:00
Branimir Karadžić
d8160075e8
shaderc: Flip gl_Position.y when building SPIR-V.
2018-04-12 19:54:19 -07:00
Branimir Karadžić
ae8f21c467
SPIRV: Removed remap, and renamed gl_FragData_X_ to bgfx_FragDataX to workaround NV/VK driver bug.
2018-04-11 21:02:31 -07:00
Branimir Karadžić
172b7c506b
Added SPIRV-Tools.
2018-04-10 19:44:28 -07:00
Branimir Karadžić
b0a7c13473
texturev: Fixed crash when selected image is invalid.
2018-04-02 06:02:55 -07:00
Branimir Karadžić
498175746e
texturev: Fixed layer control for 3D textures with mips.
2018-03-27 18:09:31 -07:00
Branimir Karadžić
8e6450de15
Updated ImGui.
2018-03-22 21:11:18 -07:00
Branimir Karadžić
9f0a889cca
shaderc: Added GLES2 fallback for transpose.
2018-03-16 22:41:51 -07:00
Branimir Karadžić
52a5f630fd
shaderc: Added command line info after preprocessing shader.
2018-03-16 18:15:16 -07:00
Branimir Karadžić
f2e19da28a
Cleanup.
2018-03-15 18:27:34 -07:00
Branimir Karadžić
a2e553665c
Cleanup.
2018-03-09 19:36:36 -08:00
Branimir Karadžić
954a2df953
Fixed GLSL intepolator qualifier.
2018-02-17 10:04:42 -08:00
Branimir Karadžić
3198dd8226
Cleanup.
2018-02-14 22:01:24 -08:00
Branimir Karadžić
c6b4ce512a
Fixed issue #1331 .
2018-02-13 16:08:49 -08:00
Branimir Karadžić
584b8b34f0
Added support for independent RGB channel write control.
2018-02-13 12:35:23 -08:00
Branimir Karadžić
cf91b62542
shaderc: Allow passing CS buffers into all shader stages in GLSL.
2018-01-15 17:39:18 -08:00