spirv: Use nir_var_mem_constant for UniformConstant data in CL
[mesa.git] / src / compiler / spirv / nir_spirv.h
index 37fbf351bc9b9a7133034a81b04ad86f01edb190..dd7b5b36996eea3099861d638d1a34edd891e7f3 100644 (file)
@@ -37,10 +37,7 @@ extern "C" {
 
 struct nir_spirv_specialization {
    uint32_t id;
-   union {
-      uint32_t data32;
-      uint64_t data64;
-   };
+   nir_const_value value;
    bool defined_on_module;
 };
 
@@ -67,6 +64,10 @@ struct spirv_to_nir_options {
     */
    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. */
@@ -77,6 +78,7 @@ struct spirv_to_nir_options {
    nir_address_format shared_addr_format;
    nir_address_format global_addr_format;
    nir_address_format temp_addr_format;
+   nir_address_format constant_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