Commit graph

1519 commits

Author SHA1 Message Date
Ashwin Lele
c1e61d6cff Fix bugs in missing Builtin decoration for some NV builtins for tessellation
control shaders.
Fix bug in member remapping.
2019-07-22 12:36:38 -07:00
John Kessenich
9f2236e58e Build: shut up warning to add unnecessary parens. 2019-07-17 19:15:47 -06:00
John Kessenich
e383c5f55d
Merge pull request #1837 from KhronosGroup/fix-NV_compute_shader_derivatives
ESSL: Fix #1823: Conditions for when derivatives are in compute shader.
2019-07-15 19:49:46 -06:00
Sahil Parmar
f2dcc87c6a Allow unsized view array dimension for non-block perviewNV attributes 2019-07-15 16:14:00 -07:00
John Kessenich
50dc8c350b
Merge pull request #1824 from KhronosGroup/fix-spec-expr-array-check
SPV: Fix #1783: Don't do bounds checking for spec-const-expression size
2019-07-15 10:55:30 -06:00
John Kessenich
33081e01d3 ESSL: Fix #1823: Conditions for when derivatives are in compute shader. 2019-07-15 01:20:18 -06:00
John Kessenich
1a6e8534ce GLSL: Fix #1833: Don't constant fold integer mix to a float. 2019-07-13 12:23:11 -06:00
John Kessenich
71892a5eda
Merge pull request #1833 from AaronHaganAMD/master
Add support for SPV_KHR_shader_clock
2019-07-11 13:16:09 -06:00
amhagan
91fb0091a2 Add support for SPV_KHR_shader_clock 2019-07-10 21:34:12 -04:00
Jeff Bolz
c1ad396258 Avoid generating 8/16-bit constants when 8/16-bit arithmetic extensions aren't enabled 2019-07-10 15:04:29 -05:00
John Kessenich
8aa9a7bb8f
Merge pull request #1825 from amdrexu/bugfix
Change implementation of gl_SIMDGroupSizeAMD
2019-07-09 00:14:27 -06:00
Rex Xu
e085d83427 Change implementation of gl_SIMDGroupSizeAMD 2019-07-06 23:40:10 +08:00
John Kessenich
96524f9168 SPV: Fix #1783: Don't do bounds checking for spec-const-expression size
It's okay for symbolic spec-consts, but without constant folding,
not okay when the array size is an expression.
2019-07-03 09:37:25 -06:00
John Kessenich
e5c394bcba Standalone: Fix #1814: Check that linkage was specified for reflection. 2019-07-02 09:47:42 -06:00
John Kessenich
974a586688
Merge pull request #1817 from jeffbolznv/demote
Implement GL_EXT_demote_to_helper_invocation
2019-07-02 02:20:18 -06:00
John Kessenich
73f0108138 Build: Tweak PR #1808 to avoid an implicit conversion warning. 2019-07-02 01:51:50 -06:00
Jeff Bolz
ba6170b534 Implement GL_EXT_demote_to_helper_invocation 2019-07-01 09:36:15 -05:00
Shahbaz Youssefi
6cca0e983e Remove extraneous semicolons
They cause a warning (-Wextra-semi) that can lead to a compile error
(-Werror).
2019-06-25 13:20:16 -04:00
Jeff Bolz
4b5c498923 Add a bunch of missing cases to promoteConstantUnion. Use macros to expand all the cases more simply. 2019-06-22 22:28:25 -05:00
John Kessenich
605afc7b1b SPV: Add a switch for favoring non-NaN operands in min, max, and clamp. 2019-06-17 23:33:09 -06:00
Samuel Iglesias Gonsálvez
2cfde2bdbe Delete duplicated gl_SubGroupSizeARB builtin treatment
Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2019-06-17 16:05:52 +02:00
John Kessenich
def9662348
Merge pull request #1796 from Igalia/siglesias/fix-gl_SubGroupSizeARB-tese-geom
Add missing GL_ARB_shader_ballot builtins to Geometry and Tessellatio…
2019-06-16 23:02:02 -06:00
Samuel Iglesias Gonsálvez
dbe6b06dde Add missing GL_ARB_shader_ballot builtins to Geometry and Tessellation shaders
When processing Geometry and Tessellation Control/Evaluation shaders,
the builtins defined by GL_ARB_shader_ballot were not processed by
glslang. This specially a problem for gl_SubGroupSizeARB because, it is
treated as shader input instead of uniform on Vulkan.

Signed-off-by: Samuel Iglesias Gonsálvez <siglesias@igalia.com>
2019-06-15 12:55:50 +02:00
Jeff Bolz
38a52fca93 Add gl_SemanticsVolatile to GL_KHR_memory_scope_semantics, and make volatile-qualified atomics generate MemorySemanticsVolatile when using the Vulkan memory model 2019-06-14 09:57:01 -05:00
Daniel Koch
2cb2f197a7 Add support for GL_NV_shader_sm_builtins
Including spirv and AST tests

Also increase size of TBuiltInVariable bitfields since we've now exceeded 127
and add a static_assert to make this easier to find next time it happens!
2019-06-08 08:53:11 -04:00
John Kessenich
92b5c9ee91 GLSL: Revert f6873f7 to fix #1764. 2019-06-08 04:30:46 -06:00
Canon lee
fc017379e3 code format refine 2019-06-07 00:16:31 +08:00
Roy
a137d2ba86 Add interface symbol and uniform symbol location auto mapping for OpenGL shader. 2019-06-06 17:54:04 +08:00
Dan Sinclair
3555043c04 Remove unused parameter 2019-06-05 11:48:20 -04:00
Jeff Bolz
71e5b1323d Add missing NV_EXTENSIONS ifdef 2019-06-04 09:47:41 -05:00
Jeff Bolz
c6f0ce8dbc Support GL_ARB_fragment_shader_interlock 2019-06-03 11:55:25 -05:00
Daniel Koch
593a4e0aa5 Fix subgroup support for ray tracing
Closes #1735

GlslangToSpv.cpp
- minor formatting cleanup

BaseTypes.h
- minor formatting cleanup
- add subgroup builtins to GetBuiltInVariableString
  (was resulting in "unknown built-in variable" messages in test output)

Initialize.cpp
- better naming and re-use of strings for subgroup builtin variable declarations
- define subgroup builtin variables in ray-tracing shaders

intermOut.cpp
- add handling of the EOpSubgroupParition* variables
  (was resulting in "ERROR: Bad aggregation op" messages in test output)

Update test results.
2019-05-31 14:17:36 -04:00
Daniel Koch
3418cb4c98 Add AST tests for mesh and task shaders
with subgroup touch testing (error and non-error cases)

Add missing symbolTable.relateToOperator("subgroupMemoryBarrierShared") call for
Mesh/Task shaders so they don't assert in ParseHelper.cpp
2019-05-31 14:17:13 -04:00
Jeff Bolz
8adc2f565e Allow runtime-sized arrays of acceleration structures 2019-05-30 12:45:15 -05:00
John Kessenich
1f4d04687b SPV 1.4: Implement the 5 new loop controls. 2019-05-10 00:02:45 -06:00
Jeff Bolz
88220d507e For nonuniformEXT constructor, make a copy of the node to decorate 2019-05-08 10:24:46 -05:00
John Kessenich
e291f7a09f
Merge pull request #1739 from jeffbolznv/buffer_reference2
Add support for GL_EXT_buffer_reference2
2019-05-08 17:12:52 +07:00
John Kessenich
f88e5824d2
Merge pull request #1755 from amdrexu/bugfix
Fix issues of explicit conversions.
2019-05-03 23:11:26 +07:00
John Kessenich
5cb2fa2ad2 Fix #1759: Check for specialization constants when literals required. 2019-05-03 08:40:35 -06:00
Jeff Bolz
758c93364c Add support for GL_EXT_buffer_reference2 2019-05-01 16:13:26 -05:00
Rex Xu
d932cc4295 Fix issues of explicit conversions.
For certain int8/int16/float16 conversions,they are conditionally allowed
when extensions defining explicit arithmetic types are enabled.
2019-04-25 10:37:57 +08:00
John Kessenich
f6873f7e49 GLSL: Add error check for an argument dropping the 'restrict' qualifier 2019-04-19 04:57:43 -06:00
John Kessenich
08d61df040 Fix #1720: Give an error for parameter mismatched image format. 2019-04-19 04:51:07 -06:00
John Kessenich
0e5d1bb66a clang-format correction and typo (clang format likely not complete)
This was added some time ago, but I suspect largely unused.
Christoph pointed out of few contradictions to actual convention,
so that's fixed. But, I suspect it is largely incomplete.
2019-04-19 00:13:43 -06:00
Christoph Kubisch
83318018e6 improve formating 2019-04-17 10:49:53 +02:00
Christoph Kubisch
aa4e527781 revert typeName from getCompleteString() (breaks tests), add to function dump instead 2019-04-16 13:28:49 +02:00
Christoph Kubisch
4b1dfc56b1 improve formating 2019-04-16 10:00:28 +02:00
Christoph Kubisch
b84a520492 minor improvements to formating 2019-04-15 13:37:12 +02:00
Christoph Kubisch
412ff6ea6a minor naming cleanup 2019-04-13 22:57:33 +02:00
Christoph Kubisch
55ba3eaf89 introduce new --dump-builtin-symbols command line
add corresponding EShMsgBuiltinSymbolTable
TSymbol::dump functions have option to do "complete" print
bugfix in TType::getCompleteString, structure can be null for block
2019-04-13 22:18:16 +02:00