Skip to content
  • Niklas Haas's avatar
    shaders: rework sh_lut mechanism · e2dabec9
    Niklas Haas authored
    1. Drop the use of UBOs and SSBOs; since not only are there unaddressed
       packing concerns, but they also don't really provide an advantage.
       Instead, use regular uniform floats (i.e. input variables with
       dim_v), but only do this by default if we have global inputs.
    
    2. Implement the missing case (SH_LITERAL)
    
    3. Improve the signature for the `fill` function.
    
    On my nvidia hardware, both SH_LITERAL and SH_UNIFORM sadly explode for
    large inputs - SH_UNIFORM exhausts the UBO size limits when using
    vulkan, mainly due to the vec4/float packing inefficiency. SH_LITERAL on
    the other hand just makes the nvidia shader compiler explode. Further
    investigation is required, but for small LUTs it should work
    nonetheless.
    e2dabec9