projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
nir: Add a lowering pass to split 64bit phis
[mesa.git]
/
src
/
compiler
/
spirv
/
nir_spirv.h
diff --git
a/src/compiler/spirv/nir_spirv.h
b/src/compiler/spirv/nir_spirv.h
index c4381bdf62e3e0283e72b2ae11c39277587d91e8..3cbd0269ffeb462ccfe60c68aeb0f45e976d02a4 100644
(file)
--- a/
src/compiler/spirv/nir_spirv.h
+++ b/
src/compiler/spirv/nir_spirv.h
@@
-37,10
+37,7
@@
extern "C" {
struct nir_spirv_specialization {
uint32_t id;
struct nir_spirv_specialization {
uint32_t id;
- union {
- uint32_t data32;
- uint64_t data64;
- };
+ nir_const_value value;
bool defined_on_module;
};
bool defined_on_module;
};
@@
-59,17
+56,18
@@
enum nir_spirv_execution_environment {
struct spirv_to_nir_options {
enum nir_spirv_execution_environment environment;
struct spirv_to_nir_options {
enum nir_spirv_execution_environment environment;
- /* Whether or not to lower all workgroup variable access to offsets
- * up-front. This means you will _shared intrinsics instead of _var
- * for workgroup data access.
- *
- * This is currently required for full variable pointers support.
- */
- bool lower_workgroup_access_to_offsets;
-
/* Whether or not to lower all UBO/SSBO access to offsets up-front. */
bool lower_ubo_ssbo_access_to_offsets;
/* Whether or not to lower all UBO/SSBO access to offsets up-front. */
bool lower_ubo_ssbo_access_to_offsets;
+ /* Whether to make FragCoord to a system value, the same as
+ * GLSLFragCoordIsSysVal in GLSL.
+ */
+ bool frag_coord_is_sysval;
+
+ /* Whether to keep ViewIndex as an input instead of rewriting to a sysval.
+ */
+ bool view_index_is_input;
+
struct spirv_supported_capabilities caps;
/* Address format for various kinds of pointers. */
struct spirv_supported_capabilities caps;
/* Address format for various kinds of pointers. */
@@
-81,6
+79,12
@@
struct spirv_to_nir_options {
nir_address_format global_addr_format;
nir_address_format temp_addr_format;
nir_address_format global_addr_format;
nir_address_format temp_addr_format;
+ /* Whether UniformConstant memory should be treated as normal global memory.
+ * This is usefull for CL 2.0 implementations with fine grain system SVM
+ * support.
+ */
+ bool constant_as_global;
+
struct {
void (*func)(void *private_data,
enum nir_spirv_debug_level level,
struct {
void (*func)(void *private_data,
enum nir_spirv_debug_level level,