Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Regression: a valid interface block in mesh/task shader is considered invalid #3653

Closed
zeux opened this issue Aug 5, 2020 · 0 comments · Fixed by #3656
Closed

Regression: a valid interface block in mesh/task shader is considered invalid #3653

zeux opened this issue Aug 5, 2020 · 0 comments · Fixed by #3656
Assignees
Labels

Comments

@zeux
Copy link
Contributor

zeux commented Aug 5, 2020

I think this is a regression since #3308.

Attached are the mesh & task shaders from niagara (https://github.com/zeux/niagara). Part of the shader is the following interface block that is required to pass data between task & mesh shaders:

in taskNV block
{
	uint meshletIndices[32];
};

Compiling the shaders as follows:

glslangValidator shader.glsl -V --target-env vulkan1.2 -o shader.spv

And validating them with --target-env vulkan1.2 produces the following errors:

C:\work\niagara\src\shaders>C:\VulkanSDK\1.2.148.0\Bin\spirv-val.exe --target-env vulkan1.2 meshlet.mesh.spv
error: line 225: Member index 0 is missing a location assignment
  %block = OpTypeStruct %_arr_uint_uint_32

C:\work\niagara\src\shaders>C:\VulkanSDK\1.2.148.0\Bin\spirv-val.exe --target-env vulkan1.2 meshlet.task.spv
error: line 207: Member index 0 is missing a location assignment
  %block = OpTypeStruct %_arr_uint_uint_32

The problem is that these blocks have to have no location assignments - trying to add one causes glslang to emit the following error:

'location' : cannot apply to taskNV in/out blocks

meshlet.zip

@alan-baker alan-baker self-assigned this Aug 5, 2020
@alan-baker alan-baker added the bug label Aug 5, 2020
alan-baker added a commit to alan-baker/SPIRV-Tools that referenced this issue Aug 5, 2020
Fixes KhronosGroup#3653

* Only validate locations for fragment, vertex, geometry and
  tessellation shaders
alan-baker added a commit that referenced this issue Aug 11, 2020
Fixes #3653

* Only validate locations for fragment, vertex, geometry and
  tessellation shaders
dnovillo pushed a commit to dnovillo/SPIRV-Tools that referenced this issue Aug 19, 2020
…oup#3656)

Fixes KhronosGroup#3653

* Only validate locations for fragment, vertex, geometry and
  tessellation shaders
sudonatalie added a commit that referenced this issue Apr 4, 2022
google/googletest@f45d586...25dcdc7

$ git log f45d5865e..25dcdc7e8 --date=short --no-merges --format='%ad %ae %s'
2022-04-04 dmauro Use the Abseil flags library when Abseil is present
2022-03-23 absl-team Address deprecation warning surfaced by Github presubmit tests
2022-03-23 mattias.ellert Split gmock-matchers_test into 4 smaller test #3653
2022-03-22 absl-team Only print disabled test banner if the test matches gtest_filter
2022-03-21 absl-team Clarify public access on gmock examples.
2022-03-18 bmesser Remove sanity as it is offensive to neurodiverse individuals.
2022-03-15 absl-team Running clang-format over all of GoogleTest
2022-03-14 dinor Remove references to deleted script gen_gtest_pred_impl.py
2022-03-08 absl-team Mark ACTION_Pn()-generated functions as must-use-result, adding non-compilation tests.
2022-03-08 sobik.szymon Add myself to contributors
2022-03-08 sobik.szymon Adjust documentation regarding xml and json source file location otput.
2022-03-08 sobik.szymon Adjust xml and json unit tests to test for source file and line location.
2022-03-08 sobik.szymon Add support for testing of xml and json output of source file and line location
2022-03-08 sobik.szymon Output source file path and line number in xml and json files.
2022-02-17 dmauro Update GCC/Clang Linux tests to use Bazel 5.0.0
2022-02-14 absl-team Address conversion warning by explicitly casting to size_t
2022-02-09 absl-team Add a 3-arg overload for ResultOf() matcher that takes a description string for better error messages.
2022-02-05 hgsilverman Apply requested changes by using std::inserter with move.
2022-02-05 noiseless-ak Fix gtest-help-test failure on OpenBSD
2022-02-01 absl-team GetCurrentOsStackTraceExceptTop (both the method of UnitTestImpl and the wrapper function in gtest.cc) rely on the fact that the inner call is not getting optimized. This CL annotates them with the appropriate attributes.
2022-01-29 hgsilverman Do constant time matching for exact match filters.
2022-01-28 dmauro Finish some missed pieces of the TestCase to TestSuite Migration
2022-01-26 dinor Change `ReturnArg` to use perfect forwarding of arguments (#3733)
2022-01-25 melroy Let me give a change to try it again - updating to latest version
2022-01-05 73706994+jjfvanderpol Set CMake Policy CMP0077 to NEW
2021-10-19 deniz CMake: Fix values of INTERFACE_INCLUDE_DIRECTORIES property

Created with:
  roll-dep external/googletest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants