[PATCH 0/11] MR79: wined3d: Refactor format flags into two groups.
Zebediah Figura
zfigura at codeweavers.com
Wed May 18 00:41:27 CDT 2022
On 5/16/22 20:26, Chip Davis (@cdavis5e) wrote:
> There are only three unused format flags left. I will soon submit changes
> which add four more format flags.
>
> I've noticed that format flags generally fall into two groups:
>
> * The first group consists of flags describing the content of a pixel
> format, e.g. whether or not this is a depth format, or whether this is
> a blocked format. These flags are the same for all resource types.
> * The second group consists of flags describing capabilities of the
> implementation with this format. These can and do vary by resource
> type.
>
> Only the second group needs to be stored per-resource-type.
>
Here are some thoughts, some of which are from Henri:
* Personally, I think this makes sense on its own merits, as a means of
clarifying. It's weird to me that flags like FLOAT are stored per
resource type when conceptually they're independent of resource type.
* On the other hand, it's not clear that it's worthwhile. It's a lot of
churn, when it'd be easy enough to free up space by extending to 64
bits, or even getting rid of some obsolete flags.
* Patches 10 and 11 in particular are an awful lot of churn, and the
naming isn't clearly an improvement. Maybe instead of "base_flags" we
could say "attributes"?
* If we're moving things around, I believe we also want to move
DECOMPRESS to the "base flags" group.
* I don't think BUMPMAP belongs in the format_texture_info array, but
rather format_base_flags.
* There's some flags left in "caps" that are logically capabilities, but
arguably don't need to be per resource type, e.g. UNORDERED_ACCESS,
VERTEX_ATTRIBUTE, RENDERTARGET, DEPTH_STENCIL, SHADOW, INDEX_BUFFER.
Maybe it's better to leave them where they are, though...
* Maybe instead of flags we could use bitfields, which would give us a
bit more freedom in general and probably help naming. On the other hand
it makes it harder to copy the flags field around as a whole...
More information about the wine-devel
mailing list