Skip to content

lavapipe: reduce the lp_descriptor size to get vulkan conformance

Dave Airlie requested to merge airlied/mesa:lvp-reduce-descriptor-size-wip into main

What does this MR do and why?

Vulkan states the descriptor size needs to be 256 bytes or less, we are over that.

This refactors some stuff then does 3 things to reduce it:

  1. cuts height/depth to uint16_t, first/last_level down to uint8_t.
  2. multisample textures don't have mips so merge sample_stride into mip_offset[15] and sample_num into last_level
  3. moves sampler_index from the outside struct into a gap in the inside structs (this is probably going to be dodgiest bit)

with all 3, the struct size is 256, the one more patch to make the dEQP-VK.binding_model.descriptor_buffer.basic.limits test pass.

Edited by Dave Airlie

Merge request reports