On Thu Feb 22 14:32:38 2024 +0000, Henri Verbeet wrote:
+ /* DXIL does not have an instrinsic for sample info, andresinfo is expected to return
* the sample count in .w for MS textures. The result isalways a struct of 4 x uint32. */
vsir_instruction_init(ins, &sm6->p.location, VKD3DSIH_SAMPLE_INFO);ins->flags = VKD3DSI_SAMPLE_INFO_UINT_SCALAR;if (!(src_params = instruction_src_params_alloc(ins, 1, sm6)))return;src_param_init_vector_from_reg(&src_params[0], &resource->u.handle.reg);src_params[0].swizzle = VKD3D_SHADER_SWIZZLE(X, X, X, X);SAMPLE_INFO does respect the source swizzle though, so I think we could just use VKD3DSI_SAMPLE_INFO_UINT here?
True, the bitcast to float is not an issue either because it's written to a temp. I deleted the spirv commit.