Commit graph

15 commits

Author SHA1 Message Date
Pankaj Mistry
228c67228a GL_EXT_mesh_shader/SPV_EXT_mesh_shader implementation
Added following updates to GL_EXT_mesh_shader implementation:

1. Added SPIRV and GLSL test cases
2. Added checks to ensure NV and EXT mesh shader builtins cannot be used interchangeably.
3. Updated the language name by removing the postfix "NV" to MeshShader and TaskShader.
4. Added checks for grammar checking to comply with the spec.

5. Added gl_NumWorkGroups builtin to Mesh shader
6. Fixed data type of gl_PrimitiveLineIndicesEXT and gl_PrimitiveTriangleIndicesEXT
7. Added new constants to the resources table
8. Updates to handle new storage qualifier "taskPayloadSharedEXT"
9. Updated test cases by replacing "taskEXT" with storage qualifier "taskPayloadSharedEXT"

Addressed  Review comments
1. Fixed instruction description used by glslang disassembly.
2. Updated OpEmitMeshTasksEXT as per spec update
3. Fixed implementation that errors out if there are more then one taskPayloadSharedEXT varjables.
4. Fixed miscellaneous error logs and removed unwanted code.

SPIRV 1.6 related build failure fixes
- Update SPIRV header to 1.6
- Fix conflict wiht SPIRV 1.6 change, where localSizeId is used for execution mode for mesh/task shaders

Enable SPIRV generated for EXT_mesh_shader to be version 1.4

GL_EXT_mesh_shader: Add checks for atomic support and corresponding test cases
2022-09-01 18:02:21 -07:00
James0124
ea024d2bfc CInterface: Add OpSource support.
Add interface for `TIntermediate::addSourceText` and `TIntermediate::setSourceFile`.
2022-06-07 01:13:21 +09:00
Hai Nguyen
9a98d32366 Added GLSL version override interface and CLI
This change list allows a user to override the GLSL version from the
command line or through the C and C++ interfaces. This will override the
override happens in ProcessDeferred() before DeduceVersionProfile() so
the process should still error out if the version is insufficient for
the shader code.

- Added --glsl-version <version> to CLI.
- Added parameter to route glslVersion as override version to
  preprocessor and parse functions to C++ interface.
- Updated C interface with function to override GLSL version.
2022-01-01 04:31:44 -05:00
Hai Nguyen
febbeb4f83
Support for automap options and resource binding shift (#2834)
* Support for automap options

- Added glslang_shader_options_t with enums for auto map bindings and
  auto map locations.
- Added options param to glslang_shader_parse.
- Modified glslang_shader_parse to call appropriate auto map function if
  auto map bits are set.

* Refactored auto map for C interface

- Added glslang_shader_set_options to independently set options instead
  of being a param on an existing function.
- Added glslang_program_map_io to call mapIO so auto map location
  actually works.

* Added support for shifting resource bindings

- Added resource binding shift functions to match C++ interface

* Uncommented preprocessor call that was commented out for debugging
2021-11-29 14:23:01 -07:00
Ez Diy
1fde85ab96 GLSLANG_EXPORT for C APIs.
Fixes FFI breakage introduced in #2283
2020-08-10 22:26:41 +02:00
Pankaj Mistry
e05cc20ec2 Add support for es extension GL_EXT_blend_func_extended
* Introduces builtin variables gl_SecondaryFragColorEXT and gl_SecondaryFragDataEXT
* Introduces builtin constant gl_MaxDualSourceDrawBuffersEXT
* enables support for layout qualifier "index" in es profile
2020-04-30 23:21:14 -07:00
Travis Fort
fd37e0c0f1 add c wrapper for standalone ResourceLimits and remove that dependency from glslang_c_interface 2020-03-06 10:06:47 -05:00
Travis Fort
48556b8471 add stdbool.h to properly support bool type 2020-03-05 20:49:49 -05:00
Travis Fort
bdcfc48466 add c interface support for TBuiltInResource and glslang::DefaultTBuiltInResource 2020-03-05 16:05:07 -05:00
Sergey Kosarevsky
a7ff36e6bd Fix for #2075: removed DefaultTBuiltInResource from glslang_c_interface.cpp 2020-02-28 02:18:37 +03:00
Sergey Kosarevsky
e33f4e7bbb CInterface: replaced tabs with spaces 2020-01-08 14:25:56 +03:00
Sergey Kosarevsky
d7f09317f7 CInterface: added glslang_program_SPIRV_get_ptr() 2019-12-25 01:01:06 +03:00
Sergey Kosarevsky
e9ddba8fd8 CInterface: added _BIT suffix to glslang_messages_t and glslang_reflection_options_t, fixed const-correctness 2019-12-25 00:05:41 +03:00
Sergey Kosarevsky
ca593a98f9 CInterface: reformatted according to .clang-format rules 2019-12-25 00:00:23 +03:00
Sergey Kosarevsky
8cded6ccb9 Added original glslang_c_interface implementation by Viktor Latypov 2019-12-24 23:53:05 +03:00