nir/spirv: add gl_spirv_validation method
ARB_gl_spirv adds the ability to use SPIR-V binaries, and a new method, glSpecializeShader. Here we add a new function to do the validation for this function: From OpenGL 4.6 spec, section 7.2.1" "Shader Specialization", error table: INVALID_VALUE is generated if <pEntryPoint> does not name a valid entry point for <shader>. INVALID_VALUE is generated if any element of <pConstantIndex> refers to a specialization constant that does not exist in the shader module contained in <shader>."" v2: rebase update (spirv_to_nir options added, changes on the warning logging, and others) v3: include passing options on common initialization, doesn't call setjmp on common_initialization v4: (after Jason comments): * Rename common_initialization to vtn_builder_create * Move validation method and their helpers to own source file. * Create own handle_constant_decoration_cb instead of reuse existing one v5: put vtn_build_create refactoring to their own patch (Jason) v6: update after vtn_builder_create method renamed, add explanatory comment, tweak existing comment and commit message (Timothy)
This commit is contained in:
@@ -186,6 +186,7 @@ files_libnir = files(
|
||||
'nir_worklist.h',
|
||||
'../spirv/GLSL.ext.AMD.h',
|
||||
'../spirv/GLSL.std.450.h',
|
||||
'../spirv/gl_spirv.c',
|
||||
'../spirv/nir_spirv.h',
|
||||
'../spirv/spirv.h',
|
||||
'../spirv/spirv_info.h',
|
||||
|
Reference in New Issue
Block a user