Бранимир Караџић
e180849b89
shaderc: Fixed SPIRV outputting useless uniforms.
2021-10-01 20:13:46 -07:00
MooZ
b8d2f01b98
Fixed shadow map sampling for 130 and above glsl profiles. ( #2496 )
...
* Fixed shadowmap sampling for 130 and above glsl profiles.
* Fixed shadowmap sampling on OpenGL ES 3 and onwards.
2021-09-27 07:03:06 -07:00
C.Even
13e6100681
Fix shaderc consistency ( #2553 )
...
* shaderc: Initialize 'texFormat' in uniform.
* glsl-optimizer: Fix consistency error of 'print_float'
2021-07-20 06:06:56 -07:00
Barrett Kepler
c8b32d38dd
Add compute shader type to shaderc help. ( #2559 )
2021-07-18 16:53:24 -07:00
kingscallop
e65d185ed6
Fix DebugDraw shaders compilation ( #2362 )
...
* Fix DebugDraw shaders compilation
Pull request #2317 broke compilation of the DebugDraw shaders (vs_debugdraw_fill.sc, etc)
on the Intel mesa driver. Shaders with a version lower than 130 have no
support for uvec or ivec by default on OpenGL.
This patch detects when these shaders are present and bumps the version when appropriate.
* Removed the ivecs from the patch
It seems the ivecs are infact supported on versions lower than 130 on
OpenGL.
2021-06-06 14:05:14 -07:00
kingscallop
8247e061f0
Fixes texturev embedded shaders compilation ( #2531 )
...
Compiling 'fs_texture_array.sc' with shaderc for OpenGLES fails with a syntax error,
because the matrix transpose function definitions occur before extension directives,
in this case EXT_texture_array.
2021-06-05 13:54:38 -07:00
Бранимир Караџић
74b146eb83
Fixed build.
2021-04-21 22:11:36 -07:00
Hugo Amnov
ec36cf9872
Simplify SPIRV bindings shifts (shaderc bin version 11) ( #2487 )
2021-04-21 09:33:12 -07:00
Hugo Amnov
07e9af249c
Cleanup old debug and Metal code in SPIRV shaderc paths ( #2484 )
...
* Shaderc: Remove unused MTL path in SPIRV compiler
* Shaderc: Remove unused SPIRV reflection code
2021-04-21 07:45:03 -07:00
Hugo Amnov
24be4a38d0
WebGPU: Add texture format to shaderc (bin version 10) + streamline storage Images in shaders ( #2482 )
...
* WebGPU: Add texture format (shaderc bin version 10)
* WebGPU: Simplify storage images + Fix format decorations
* Shaderc: Cleanup Texture name assumption in textures
2021-04-20 20:18:49 -07:00
Hugo Amnov
b2d72b1495
Shaderc: Add missing raw compilation targets ( #2478 )
2021-04-18 11:45:33 -07:00
pheonix
1781308312
Remove obsolete branch point. ( #2429 )
2021-03-21 18:49:34 -07:00
Aleš Mlakar
dc3a92ef99
Vulkan shader compiler uniform size fix (>255). ( #2421 )
...
Co-authored-by: Aleš Mlakar <ales.ambits@gmail.com>
2021-03-08 07:48:17 -08:00
pezcode
302c978b1d
Make shaderc output independent of backend enums ( #2411 )
...
* Fix typo in SPIR-V id
* Use backend-agnostic shaderc output
...as opposed to directly storing and comparing against Vulkan and WebGPU enums. This is backwards-compatible with existing code and shaders.
* Remove comments and Undefined value
2021-02-28 12:38:12 -08:00
pheonix
d89ff312a7
Fix leak - using no fancy smanshy new age voodoo ( #2390 )
2021-02-11 21:43:22 -08:00
Kartoffelsaft
c3c3f869f5
add newline at end of error ( #2374 )
2021-01-31 11:27:25 -08:00
Бранимир Караџић
af49c5d264
Happy New Year!
2021-01-14 15:53:49 -08:00
MooZ
465c13ad37
Set profile id for metal and pssl to avoid d3d9 codepath. ( #2355 )
2021-01-13 07:10:23 -08:00
Sandy
6072d4eda0
shaderc_glsl: parse int samplers like float samplers ( #2341 )
2020-12-30 15:58:39 -08:00
Бранимир Караџић
0f0a664a47
Cleanup.
2020-12-28 17:27:50 -08:00
MooZ
d65dac2000
Shaderc OpenGL fixes. ( #2317 )
...
* Reworked profile cli argument.
* Added missing GLSL profile.
* Fixed essl shader preambule.
* Fixed uniform "parsing" and hlsl profiles.
* Reworked hlsl profiles.
* Fixed missing extension for gl_FragDepth.
* Cleanup.
* Removed version preamble and reverted shadow samplers translation.
* Fixed HLSL profile tests.
2020-12-28 11:24:49 -08:00
Бранимир Караџић
812f7712f1
shaderc: Added gl_ViewportIndex and gl_Layer.
2020-12-12 12:45:15 -08:00
pheonix
e541312851
Update g_verbose SpirvToolsDisassemble to output based on spirv target env for Metal and SPIRV. ( #2306 )
...
Fix up alignment in shaderc help string.
2020-11-08 10:57:03 -08:00
Бранимир Караџић
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
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
Бранимир Караџић
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
Бранимир Караџић
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
Бранимир Караџић
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
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
Бранимир Караџић
bd39b5580a
Cleanup.
2019-07-24 20:12:07 -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
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ć
1b9dd14683
Fixed framebuffer RW.
2019-02-18 13:40:17 -08:00
Branimir Karadžić
5495b432f3
Fixed build.
2019-02-16 21:25:13 -08:00
Бранимир Караџић
a69d2ed606
shaderc: Fixed GLSL/ESSL intepolator issue.
2019-02-13 14:53:13 -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
junjie020
9296a44f5e
fix metal shader lack of texutre uniform variable
2018-12-26 14:19:07 +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ć
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ć
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