Rex Xu
d698ebf5f8
Fix a parse issue of imageAtomicCompSwap()
...
The max count of arguments is 5 when image2DMS/image2DMSArray is
specified.
2018-10-17 13:55:11 +08:00
Jeff Bolz
ab3c965a46
Fix flags.nonprivate to be true for workgroup memory, which is implicitly workgroupcoherent/nonprivate
2018-10-15 22:46:48 -05:00
John Kessenich
c374030e80
Merge pull request #1523 from sparmarNV/fix-SPV_NV_mesh_shader
...
Allow redeclaration of builtin interface blocks in mesh shader
2018-10-04 23:46:21 -06:00
Chao Chen
07ef0e4c84
For GL_NV_geometry_shader_passthrough extension, the Inferred output primitive for ElgTriangles should be ElgTriangleStrip.
...
Also removed unnecessary relax for GL_NV_geometry_shader_passthrough in link validate
2018-10-04 18:39:27 -07:00
Sahil Parmar
035cbbe3d0
Allow redeclaration of builtin interface blocks in mesh shader
...
Apart from allowing redeclaration of gl_MeshPerVertexNV and gl_MeshPerPrimitiveNV blocks, this change also -
- Resize clip/cull perview distances based on static index use
- Error out use of both single-view and per-view builtins
- Add new gtests with redeclared blocks and edit existing test output
- Fix couple of typos
2018-10-04 16:39:18 -07:00
Sahil Parmar
3ae0f58322
changes based on feedback
2018-09-26 13:38:25 -07:00
Sahil Parmar
95e2d4ec02
Add ES 320 support and additional error checks for SPV_NV_mesh_shader
...
- Add ES 320 support
- Error out use of perprimitiveNV for non mesh/fragment shaders
- Error out use of mesh/task shaders w/o use of NV_mesh_shader
- Error out use of NV_mesh_shader for non task/mesh shaders
- Error out use of perviewNV for non mesh shaders
- Error out use of taskNV for non mesh/task shaders
- Add test case for mesh shader with ES 320 profile
2018-09-25 13:45:32 -07:00
John Kessenich
aedccf96d2
Update known-good to tools/headers for the Nvidia Turing extensions.
2018-09-20 01:34:14 -06:00
Chao Chen
fb13a3ab7e
update glslang test results for temporary validation fail
2018-09-19 14:06:36 -07:00
Chao Chen
5b2203db04
Add-support-for-SPV_NV_shading_rate
2018-09-19 13:07:43 -07:00
Chao Chen
b50c02ef53
Add-support-for-SPV_NVX_raytracing
2018-09-19 13:07:43 -07:00
Chao Chen
3c3669904c
Add-support-for-SPV_NV_mesh_shader
2018-09-19 13:07:43 -07:00
Chao Chen
3a1379667d
0003-Add-support-for-SPV_NV_shader_image_footprint
2018-09-19 13:07:42 -07:00
Chao Chen
beae2251b7
Add-support-for-SPV_NV_compute_shader_derivatives
2018-09-19 13:07:42 -07:00
Chao Chen
9eada4b971
Add-support-for-SPV_NV_fragment_shader_barycentric
2018-09-19 13:07:42 -07:00
John Kessenich
afe0c66f65
SPV: Fix #1487 : Only declare AMD int16/half_float extensions when needed.
2018-09-10 18:10:51 -06:00
John Kessenich
546b78854a
Printing preprocessed shaders (not a supported path): Fix #1490 : strings
...
Put quote marks around strings, due to a change in how tokenization works.
2018-09-10 11:42:16 -06:00
Jeff Bolz
36831c9bad
GL_KHR_memory_scope_semantics
2018-09-06 20:36:14 -05:00
John Kessenich
97068d8b30
Merge pull request #1465 from otakuto/remove-execute-permissions
...
Remove execute permissions
2018-08-31 08:14:47 -07:00
John Kessenich
c340425bb2
SPV: Add option for controling when the SPIRV-Tools validator is used.
2018-08-23 15:29:08 -06:00
John Kessenich
cc14f2d329
SPV: Add SPIRV-Tools validator. This needs the latest SPIR-Tools.
2018-08-23 13:46:48 -06:00
John Kessenich
31aa3d6019
SPV: only declare the pure 8/16-bit capabilities when needed.
...
Only when operations stray outside the 8/16-bit storage-capabilities
are the general (pure 8/16-bit) capabilities needed.
2018-08-16 15:54:21 -06:00
John Kessenich
251901ac8a
Fix #1471 : Merge shift amounts for different sets: --stb ... --std ...
2018-08-12 22:08:53 -06:00
John Kessenich
640bd0964f
Fix #1468 : Add command-line --entry-point support, same as existing -e.
2018-08-09 14:15:00 -06:00
otakuto
dae0b0a59e
Add shebang
2018-08-07 03:25:35 +09:00
otakuto
d03da06ac1
Remove execute permissions
2018-08-07 03:16:20 +09:00
John Kessenich
994d4bf325
Tests: Add more string -> float tests. Related to #1456 .
2018-07-27 13:06:54 -06:00
John Kessenich
e161cc11f7
GLSL: No more restrictions on (non)shadow sampler construction.
...
Match https://github.com/KhronosGroup/GLSL/pull/22
2018-07-25 12:11:04 -06:00
John Kessenich
62faea79d7
Merge pull request #1451 from KhronosGroup/shadow-forces-depth
...
GLSL/SPV: If a texture is used with a shadow sampler, force 'shadow'.
2018-07-23 16:41:00 -07:00
John Kessenich
11da9eed5d
HLSL: Fix #1445 : distance() works on scalars.
2018-07-23 16:55:01 -06:00
John Kessenich
7d4c9a07b5
GLSL: Construct shadow texture from non-shadow sampler.
...
Tracks https://github.com/KhronosGroup/GLSL/pull/22 .
2018-07-23 15:59:09 -06:00
John Kessenich
0339af3c1f
GLSL/SPV: If a texture is used with a shadow sampler, force 'shadow'.
...
Fixes #854 . But, only good if we are not trying to use the same
texture for both shadow and non-shadow constructors.
Force the type of the texture to have 'shadow' set when it is
constructed with a samplerShadow.
2018-07-23 15:58:32 -06:00
John Kessenich
5a7321eb03
Merge branch 'master' of https://github.com/zeux/glslang into zeux-master
2018-07-20 17:11:44 -06:00
John Kessenich
b617e14acb
Link: Merge all the settings in TIntermediate.
...
Fixes #1309 .
2018-07-20 12:34:59 -06:00
John Kessenich
41436ad204
Link/SPV: Correct symbol IDs on merging ASTs to a single coherent space
...
This is one step in providing full linker functionality for creating
correct SPIR-V from multiple compilation units for the same stage.
(This was the only remaining "hard" part. The rest should be simple.)
2018-07-18 18:07:41 -06:00
John Kessenich
e7f9caeac4
Errors and Build: Fix build warnings, which also improved error messages.
2018-07-12 15:11:07 -06:00
John Kessenich
8dafeab47e
Merge pull request #1438 from Think-Silicon/getUniformStages
...
Reflection exposes the Shader Stages where a Uniform is present
2018-07-11 08:19:21 -07:00
John Kessenich
cf6bd066b9
HLSL: Fix #1432 : Globally initialize local static variables.
2018-07-11 01:09:14 -06:00
dmpakas
f556e5da26
Reflection exposes the Shader Stages where a Uniform is present
2018-07-10 18:25:48 +03:00
Arseny Kapoulkine
112e2858cf
SPIRV: Simplify matrix->matrix constructor
...
When constructing a matrix from another matrix with smaller dimensions,
there's no need to extract the scalars out of columns and rebuild the
resulting matrix from scalars - instead, we can just construct shorter
vectors with OpShuffle and combine them to the final result.
This keeps the common casts such as mat3(mat4) in vector registers,
which may improve performance for some GPUs, and cleans up output of
translation tools like SPIRV-Cross.
Fixes #1412 .
2018-07-05 15:55:12 -07:00
John Kessenich
312dcfb070
Implement GL_EXT_shader_16bit_storage and GL_EXT_shader_8bit_storage extensions.
...
These introduce limited support for 8/16-bit types such that they can only be accessed in buffer memory and converted to/from 32-bit types.
Contributed from Khronos-internal work.
2018-07-03 13:51:31 -06:00
John Kessenich
dccfeedfc3
HLSL: Fix #1423 : implement CalculateLevelOfDetailUnclamped().
...
(If there is a bias issue, we need to discover what it is.)
2018-07-02 18:53:19 -06:00
John Kessenich
ab8960fd12
Merge pull request #1416 from aejsmith/samplerless-texture-functions
...
Add support for GL_EXT_samplerless_texture_functions
2018-07-02 18:35:41 -06:00
John Kessenich
513cc4cf87
Merge branch 'HaydnTrigg-patch-1'
2018-07-02 16:13:29 -06:00
John Kessenich
802c62bca4
PP: Rationalize return values of MacroExpand.
...
This results in better error recovery, including fewer
crashes on badly formed PP input.
2018-07-02 13:47:31 -06:00
John Kessenich
9cc81de096
PP/HLSL: Fix #1424 : support comma in nested curly braces for macro arg
2018-07-02 10:40:32 -06:00
Alex Smith
e47bfaedf6
Add support for GL_EXT_samplerless_texture_functions
2018-07-01 10:58:53 +01:00
John Kessenich
2a805d9cea
Revert "GLSL: Fix #1279 : refract does not have a double-type eta."
...
This reverts commit ebec909487b8c44a8c28b40c9899857593cc9bb5.
Khronos decided glslang was originally correct, and the specifications
are incorrect.
2018-06-19 09:43:09 -06:00
John Kessenich
2c8265bb62
GLSL: Fix #1358 : Support "struct name", where name could be a user type
2018-06-11 19:28:15 -06:00
David Neto
617d1b1209
Relax a stringToDouble test for, OSX AppleClang 9.1
...
1e-323 was flushed to zero.
1e-308 is also flushed to zero.
Use 1e-307 instead, which still satisfies the test intent.
Fixes #1400
2018-06-06 22:36:42 -07:00