diff --git a/src/broadcom/common/v3d_limits.h b/src/broadcom/common/v3d_limits.h index 354c8784914cf..e8da10523850b 100644 --- a/src/broadcom/common/v3d_limits.h +++ b/src/broadcom/common/v3d_limits.h @@ -69,4 +69,6 @@ #define V3D_MAX_ARRAY_LAYERS 2048 +#define V3D_MAX_VERTEX_ATTRIB_DIVISOR 0xffff + #endif /* V3D_LIMITS_H */ diff --git a/src/broadcom/vulkan/v3dv_device.c b/src/broadcom/vulkan/v3dv_device.c index b88923ca51b1c..8bd20f62c7e86 100644 --- a/src/broadcom/vulkan/v3dv_device.c +++ b/src/broadcom/vulkan/v3dv_device.c @@ -1459,13 +1459,13 @@ v3dv_GetPhysicalDeviceProperties2(VkPhysicalDevice physicalDevice, case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_EXT: { VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *props = (VkPhysicalDeviceVertexAttributeDivisorPropertiesEXT *)ext; - props->maxVertexAttribDivisor = 0xffff; + props->maxVertexAttribDivisor = V3D_MAX_VERTEX_ATTRIB_DIVISOR; break; } case VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VERTEX_ATTRIBUTE_DIVISOR_PROPERTIES_KHR: { VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *props = (VkPhysicalDeviceVertexAttributeDivisorPropertiesKHR *)ext; - props->maxVertexAttribDivisor = 0xffff; + props->maxVertexAttribDivisor = V3D_MAX_VERTEX_ATTRIB_DIVISOR; props->supportsNonZeroFirstInstance = true; break; } diff --git a/src/broadcom/vulkan/v3dvx_pipeline.c b/src/broadcom/vulkan/v3dvx_pipeline.c index 616a7730cd483..125adfa7a4b05 100644 --- a/src/broadcom/vulkan/v3dvx_pipeline.c +++ b/src/broadcom/vulkan/v3dvx_pipeline.c @@ -616,7 +616,7 @@ pack_shader_state_attribute_record(struct v3dv_pipeline *pipeline, attr.read_as_int_uint = desc->channel[0].pure_integer; attr.instance_divisor = MIN2(pipeline->vb[binding].instance_divisor, - 0xffff); + V3D_MAX_VERTEX_ATTRIB_DIVISOR); attr.type = get_attr_type(desc); } } diff --git a/src/gallium/drivers/v3d/v3dx_state.c b/src/gallium/drivers/v3d/v3dx_state.c index 389c744300382..de66640e183e5 100644 --- a/src/gallium/drivers/v3d/v3dx_state.c +++ b/src/gallium/drivers/v3d/v3dx_state.c @@ -374,7 +374,7 @@ v3d_vertex_state_create(struct pipe_context *pctx, unsigned num_elements, attr.normalized_int_type = desc->channel[0].normalized; attr.read_as_int_uint = desc->channel[0].pure_integer; attr.instance_divisor = MIN2(elem->instance_divisor, - 0xffff); + V3D_MAX_VERTEX_ATTRIB_DIVISOR); switch (desc->channel[0].type) { case UTIL_FORMAT_TYPE_FLOAT: