2102 Commits

Author SHA1 Message Date
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
8e96e247fa Bump revision. 2019-06-18 00:37:51 -06:00
John Kessenich
11805e41d9 Bump revision. 2019-06-18 00:33:46 -06: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
John Kessenich
d579c0a7d4 Bump revision. 2019-06-17 22:33:11 -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
Matthew Albrecht
cda52d5333 Fixed .dll install on MSVC. 2019-05-23 19:06:44 -05:00
John Kessenich
08e01e79c5 Bump version and revision. 2019-05-10 00:34:10 -06:00
John Kessenich
1f4d04687b SPV 1.4: Implement the 5 new loop controls. 2019-05-10 00:02:45 -06:00
John Kessenich
6fef1ca6f9 Latest known-good SPIRV-Tools: WARNING: Needs python 3.x.
You may need to install python 3.x and also
[windows users] may need to get it in your path in front of python 2.7.x.

If you don't need the external projects (i.e., SPIRV-Tools) and don't want
to upgrade to python 3, don't create the External subdirectory and CMake
won't require python 3.  (CMake has a bug that makes it find the wrong one
on a first pass if the top level does not require the version needed by
lower levels.)
2019-05-09 10:11:54 -06:00
John Kessenich
c11e3156af Bump revision. 2019-05-09 02:11:28 -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
86c72c9486 Bump revision. 2019-04-19 05:00:32 -06: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
8a0e12a107 TType::getCompleteString insert optional structure name 2019-04-16 09:50:48 +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
Daniel Koch
0aea3106e2 Add cstdlib include
On some platforms some of the includers of this header don't have
'atoi' defined after the change in #1749
2019-04-06 07:43:17 -04:00
John Kessenich
3416d48b59 Update to latest SPIR-V header and bump revision. 2019-04-04 09:38:26 -06:00
Daniel Koch
8b2f96d3fe Check if _MSC_VER is defined before using.
Fixes compilation errors on some platforms.
2019-04-03 17:21:06 -04:00
John Kessenich
137e071ca4
Merge pull request #1740 from ewerness-nv/callableincoming
Callables shouldn't have incoming ray flags
2019-03-27 16:19:05 +07:00
Daniel Koch
83170e3f7a Enable GL_KHR_shader_subgroup properly
(and GL_NV_shader_subgroup_partitioned) based on GL/ES version
instead of predicating it on vulkan SPV generation

Also add AST testing.
The glsl.450.subgroup* files are largely the same as the spv.subgroup*
The glsl.es320.subgroup* files are the same as the 450 versions, but modified to be ES compatible.
2019-03-26 13:45:33 -04:00