return SpvDim2D;
}
-uint32_t
-zink_binding(gl_shader_stage stage, VkDescriptorType type, int index)
-{
- if (stage == MESA_SHADER_NONE) {
- unreachable("not supported");
- } else {
- switch (type) {
- case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
- case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
- assert(index < PIPE_MAX_CONSTANT_BUFFERS);
- return (stage * PIPE_MAX_CONSTANT_BUFFERS) + index;
-
- case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
- case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
- assert(index < PIPE_MAX_SAMPLERS);
- return (stage * PIPE_MAX_SAMPLERS) + index;
-
- case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
- assert(index < PIPE_MAX_SHADER_BUFFERS);
- return (stage * PIPE_MAX_SHADER_BUFFERS) + index;
-
- case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
- case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
- assert(index < PIPE_MAX_SHADER_IMAGES);
- return (stage * PIPE_MAX_SHADER_IMAGES) + index;
-
- default:
- unreachable("unexpected type");
- }
- }
-}
-
static inline SpvImageFormat
get_image_format(enum pipe_format format)
{
void
spirv_shader_delete(struct spirv_shader *s);
-uint32_t
-zink_binding(gl_shader_stage stage, VkDescriptorType type, int index);
-
static inline bool
type_is_counter(const struct glsl_type *type)
{
ret->is_generated = true;
return ret;
}
+
+uint32_t
+zink_binding(gl_shader_stage stage, VkDescriptorType type, int index)
+{
+ if (stage == MESA_SHADER_NONE) {
+ unreachable("not supported");
+ } else {
+ switch (type) {
+ case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER:
+ case VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER_DYNAMIC:
+ assert(index < PIPE_MAX_CONSTANT_BUFFERS);
+ return (stage * PIPE_MAX_CONSTANT_BUFFERS) + index;
+
+ case VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER:
+ case VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER:
+ assert(index < PIPE_MAX_SAMPLERS);
+ return (stage * PIPE_MAX_SAMPLERS) + index;
+
+ case VK_DESCRIPTOR_TYPE_STORAGE_BUFFER:
+ assert(index < PIPE_MAX_SHADER_BUFFERS);
+ return (stage * PIPE_MAX_SHADER_BUFFERS) + index;
+
+ case VK_DESCRIPTOR_TYPE_STORAGE_IMAGE:
+ case VK_DESCRIPTOR_TYPE_STORAGE_TEXEL_BUFFER:
+ assert(index < PIPE_MAX_SHADER_IMAGES);
+ return (stage * PIPE_MAX_SHADER_IMAGES) + index;
+
+ default:
+ unreachable("unexpected type");
+ }
+ }
+}
zs->bindings[type][i].type == VK_DESCRIPTOR_TYPE_UNIFORM_TEXEL_BUFFER;
}
+uint32_t
+zink_binding(gl_shader_stage stage, VkDescriptorType type, int index);;
#endif