[PATCH vkd3d 2/5] tests: Move the drawing and readback implementation to the d3d12 shader runner.

Zebediah Figura (she/her) zfigura at codeweavers.com
Fri Jan 14 11:43:06 CST 2022


On 1/14/22 11:11, Henri Verbeet wrote:
> On Tue, 11 Jan 2022 at 19:17, Zebediah Figura <zfigura at codeweavers.com> wrote:
>> +struct texture
>> +{
>> +    unsigned int slot;
>> +
>> +    DXGI_FORMAT format;
>> +    enum texture_data_type data_type;
>> +    unsigned int texel_size;
>> +    unsigned int width, height;
>> +    uint8_t *data;
>> +    size_t data_size, data_capacity;
>> +
>> +    void *private;
>> +};
>> +
> We've used private pointers like that in the past in some cases, and
> we've generally moved away from them because void pointers just aren't
> great to work with. I'd much prefer a scheme like the following:
> 
>      struct texture
>      {
>          ...
>      };
> 
>      struct d3d11_texture
>      {
>          struct texture t;
>          ...
>      };
> 
>      struct d3d12_texture
>      {
>          struct texture t;
>          ...
>      };
> 
> and then using CONTAINING_RECORD to get e.g. a struct d3d12_texture
> pointer from a struct texture pointer, much like we do in various
> other places.

I guess we'd need an extra callback to allocate resource/sampler 
pointers in that case. That's a bit more work, but I guess not terrible...



More information about the wine-devel mailing list