Commit Graph

3673 Commits

Author SHA1 Message Date
Ehsan Nasiri
0608b9d682 Add Bazel build configuration files.
In order to avoid potential build failures that could arise from
SPIRV-Tools/Headers, and to avoid reading known_good.json, this build
configuration does not build the SPIRV-Tools dependency and hence cannot
perform HLSL compilation to SPIR-V.
2019-10-17 10:04:43 -04:00
John Kessenich
a959deb007
Merge pull request #1933 from dj2/runtest
Make runtests configurable.
2019-10-16 20:53:39 -06:00
Dan Sinclair
3290d38011 Use commandline options instead of ENV variables 2019-10-16 13:08:48 -04:00
John Kessenich
9e4f6d03f2
Merge pull request #1932 from zoddicus/anotherSemiColonFix
Fix config issues and revert previous fixes for semi-colon issues
2019-10-16 10:39:51 -06:00
Ryan Harrison
622024277e Keep code style improvements 2019-10-16 11:46:37 -04:00
John Kessenich
e3dd69b8b2
Merge pull request #1934 from durswd/master
Added an option to make pch enabled in Cmake
2019-10-16 09:25:56 -06:00
dan sinclair
7d623e1c90
Indenting 2019-10-16 10:45:11 -04:00
dan sinclair
0f98465f0a
Update CMakeLists.txt 2019-10-15 19:11:39 -04:00
Dan Sinclair
3f072e158c Move TARGETDIR as well 2019-10-15 16:47:28 -04:00
Dan Sinclair
167201430d Make runtests configurable.
This CL allows setting the location of glslangValidator and spirv-remap
when calling the runtests script. A test target is added to CMake to
execute runtests and sets the location to the build folder for the two
applications.
2019-10-15 15:21:21 -04:00
Ryan Harrison
1aeceaea7d Fix config issues and revert previous fixes for semi-colon issues
This reverts commit 41261d95a4.
This reverts commit 7c9accb653.

Instead of trying to work around all of the potential semicolon issues
in glslang, making it conform to Chromium's style, mark the code
explicitly as non-chromium in the BUILD.gn, so chromium doesn't
attempt to enforce its style rules on glslang.

Fixes #1931
2019-10-15 14:45:02 -04:00
durswd
0539823243 Added an option to make pch enabled in Cmake 2019-10-16 02:28:40 +09:00
John Kessenich
b03e4fc4e0
Merge pull request #1866 from rumblehhh/master
Export glslang targets on installation
2019-10-15 04:25:20 -06:00
John Kessenich
8ba49b862c
Merge pull request #1930 from ux3d/fix/CMakeOptionalExternalBuild
find Python and add External subdir only if BUILD_EXTERNAL option was set
2019-10-15 04:19:06 -06:00
Fabian Wahlster
03be018a47 find Python and add External subdir only if BUILD_EXTERNAL option was set (on by default) and /External dir exists 2019-10-15 11:00:23 +02:00
John Kessenich
765cee8441 GLSL/SPV: Pre SPIR-V 1.5, subgroupQuadBroadcast index must be constant 2019-10-14 23:08:26 -06:00
John Kessenich
101ca388fb
Merge pull request #1880 from georgeouzou/master
Add support for GL_ARB_explicit_uniform_location
2019-10-12 08:24:11 -06:00
John Kessenich
469d27f2e5
Merge pull request #1928 from Xottab-DUTY/patch-1
Fixed typo in README.md
2019-10-12 08:22:34 -06:00
georgeouzou
01a5047373 remove redundant check 2019-10-12 15:17:29 +03:00
Xottab_DUTY
3c8b4daabd
Fixed typo in README.md 2019-10-12 16:23:54 +05:00
John Kessenich
a100258857
Merge pull request #1926 from zoddicus/fixChromiumRoll
Remove unnecessary semi-colons and add warning about them
2019-10-12 01:55:15 -06:00
Ryan Harrison
41261d95a4 Forgot that GCC doesn't recognize this flag 2019-10-11 13:18:07 -04:00
Ryan Harrison
7c9accb653 Remove unnecessary semi-colons and add warning about them
These are causing integration issues with Chromium down stream since
it is more strict about these.
2019-10-11 11:25:04 -04:00
John Kessenich
696703800e
Merge pull request #1888 from Roy-AMD/Adjusting-code-interface
Adjusting code interface
2019-10-11 01:56:05 -06:00
John Kessenich
f99beb50a3
Merge pull request #1925 from greg-lunarg/kg107
Update spirv-tools known good.
2019-10-11 01:24:26 -06:00
John Kessenich
ee8e9c1522 Fix #1924: Promote SPV_EXT_physical_storage_buffer to KHR when required.
If the semantics that require the KHR form over the EXT form are seen
(OpBitcast between a vector and a pointer) promote the requested extension
from the EXT to the KHR.
2019-10-10 20:54:21 -06:00
Greg Fischer
39ced690d6 Update spirv-tools known good. 2019-10-10 19:57:01 -06:00
John Kessenich
1ff0c181bb Fix #1924: Emit SPV_EXT_physical_storage_buffer, not the KHR form.
The KHR form comes along as part of 1.5, and otherwise should require
another form of request to emit it.
2019-10-10 12:01:13 -06:00
John Kessenich
4b97a11081
Merge pull request #1919 from dj2/install_spirv
Move install directory for SPIRV/ folder.
2019-10-06 21:58:40 -06:00
dan sinclair
78ba2510b8 single line 2019-10-06 10:00:37 -04:00
dan sinclair
c13e0f1e99 Update appveyor and travis files 2019-10-03 20:24:30 -04:00
dan sinclair
7b0e236325 Move install directory for SPIRV/ folder.
Currently the SPIRV/ folder will get installed into the include
directory. This folder is part of GLSLang, so it makes more sense under
glslang/SPIRV.

Currently, GLSLang will install a SPIRV/ folder while spirv-headers will
install a spirv/ folder. This is confusing and will cause issues on a
case sensitive filesystem if both are installed at the same time.
2019-10-03 19:35:44 -04:00
John Kessenich
135e3e35ea
Merge pull request #1918 from KhronosGroup/format-attributes
HLSL: Add attributes for image formats and nonreadable/nonwritable
2019-10-03 11:23:16 -06:00
John Kessenich
8a97d38913 HLSL: Fix #1912: add attribute syntax for nonreadable/nonwritable 2019-09-29 19:16:25 -06:00
John Kessenich
2d9b0a3550 HLSL: Fix #1912: add attribute syntax for overriding image formats. 2019-09-28 11:39:15 -06:00
John Kessenich
7bc047326e
Merge pull request #1906 from ShchchowAMD/master
Reflection will crash when the VS input symbol defines the same name with FS output symbol
2019-09-25 08:24:53 -06:00
John Kessenich
973d0e5382
Merge pull request #1910 from KhronosGroup/fix-1900-const-nonuniform
GLSL/SPV: Fix #1900: Drop const on literal when doing an object copy.
2019-09-20 12:18:13 -06:00
John Kessenich
c2fafea970 GLSL/SPV: Fix #1900: Drop const on literal when doing an object copy. 2019-09-20 06:08:49 -06:00
John Kessenich
f7a48b153f
Merge pull request #1907 from kainino0x/separate-web-and-emscripten
Separate GLSLANG_WEB (min-size build) and Emscripten options
2019-09-19 09:12:52 -06:00
John Kessenich
caca1d1cc4
Merge pull request #1905 from KhronosGroup/GL_EXT_buffer_reference_uvec2
SPV_KHR_physical_storage_buffer/SPV: Add GL_EXT_buffer_reference_uvec2
2019-09-19 00:21:38 -06:00
John Kessenich
90e402f42b SPV_KHR_physical_storage_buffer/SPV: Add GL_EXT_buffer_reference_uvec2
Adds uvec2 <-> reference constructor support.
Switches from EXT to KHR for physical_storage_buffer.
2019-09-18 23:52:36 -06:00
John Kessenich
4b5159ea81
Merge pull request #1908 from digit-google/fuchsia-fixes
Fix Fuchsia build.
2019-09-18 02:38:10 -06:00
David 'Digit' Turner
9d43c7f393 Fix Fuchsia build.
The Fuchsia build is very picky about newlines at the end of files
and will complain loudly about them. Removing the -Wnewline-eof
warning solves the issue.
2019-09-18 10:35:11 +02:00
John Kessenich
d0848b72fa
Merge branch 'master' into separate-web-and-emscripten 2019-09-18 01:55:12 -06:00
Kai Ninomiya
230117a02c use custom es6 modularization instead of MODULARIZE=1 2019-09-18 00:04:09 -07:00
Kai Ninomiya
4391924ac5 Separate GLSLANG_WEB (min-size build) and Emscripten options
Allows building non-min-size builds with Emscripten.
Adds ENABLE_GLSLANG_WEB_DEVEL.
Moves the glslang.js files to OSDependent/Web.
Small cleanups and docs update.
2019-09-17 23:18:03 -07:00
John Kessenich
e0932f676d README: Fix WASM typos. 2019-09-18 00:17:31 -06:00
John Kessenich
54c72c6d24 HLSL: Fix #1903 Catch 0-argument case to constructors. 2019-09-18 00:04:57 -06:00
Chow
f4b2ba2c27 Reflection will crash when the VS input symbol defines the same name with FS output symbol
[PURPOSE]:
The current process design for Uniform / Block / Pipe IO symbols reflection (during program linking) is as following :

1.1 using a global mapper called 'TNameToIndex' to store all the relationship of name (of symbols) to their indexes (in their own MapIndexToReflection vectors).

1.2 TNameToIndex mapper will be used during program linking and helps to check and merge duplicate symbols within each stage ( Uniform, Block and Pipe IO)

1.3 Different types of symbols will have their own index mapping storage. All those symbols will share TNameToIndex as a general searching mapper.

1.4 Only IN in first stage and OUT in last stage will be dealed within traversing functions.

Now, here we meet those problems:

2.1 In and Out variables for pipelines are mapping to different MapIndexToReflection vector (ioItems), but they may still have same names within the general symbol search mapper : TNameToIndex.

2.2 Then, when there are same symbols of IN in VS and OUT in FS, TNameToIndex could not tell the difference because it only stores one local index for one symbol (1:1) as a pair of KeyValue.

[What fixed]:

Seperate I/O from other symbols like Uniform and Block (it is wrong to keep them all in TNameToIndex), and save in new searching mappers called pipeInNameToIndex and pipeOutNameToIndex.

Expose new top-level functions defined as getReflectionPipeIOIndex and getPipeIOIndex for users who need to query Pipe I/O information (As they may reach those things through getUniformIndex and getReflectionIndex now, which is a confused way.)

As there are 2 mappers for above symbols, users needs to input second argument when they wanna reach those pipe I/O parameters, that's also why we need to modify GET functions either.

[Test Case]:

The shader is as following:

######### VS ############
layout(location = 0) in vec4 g_position;
layout(location = 1) in vec4 g_color;
out StageData {
vec4 color;
} g_vs_out;
void main() {
gl_Position = g_position;
g_vs_out.color = g_color;
}

########### FS #############
in StageData {
vec4 color;
} g_fs_in;
layout(location = 0) out vec4 g_color;
void main() {
g_color = g_fs_in.color;
}
2019-09-18 14:04:29 +08:00
John Kessenich
e4e56bcf86
Merge pull request #1902 from jeffbolznv/extended_types
Add GL_EXT_shader_subgroup_extended_types support
2019-09-17 23:18:20 -06:00