[virglrenderer-devel] [PATCH 4/5] add a cap for TGSI precise modifiers
Erik Faye-Lund
erik.faye-lund at collabora.com
Thu Jul 12 12:50:46 UTC 2018
On 12. juli 2018 14:35, Gert Wollny wrote:
> Am Donnerstag, den 12.07.2018, 09:55 +0200 schrieb Erik Faye-Lund:
>> This way, mesa can know that the TGSI-parser groks the _PRECISE
>> modifier, and it doesn't need to cull them any more.
>>
>> Signed-off-by: Erik Faye-Lund <erik.faye-lund at collabora.com>
>> ---
>> src/virgl_hw.h | 1 +
>> src/vrend_renderer.c | 2 +-
>> 2 files changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/src/virgl_hw.h b/src/virgl_hw.h
>> index 44c7108..bbd4d38 100644
>> --- a/src/virgl_hw.h
>> +++ b/src/virgl_hw.h
>> @@ -215,6 +215,7 @@ enum virgl_formats {
>> #define VIRGL_CAP_NONE 0
>> #define VIRGL_CAP_TGSI_INVARIANT (1 << 0)
>> #define VIRGL_CAP_TEXTURE_VIEW (1 << 1)
>> +#define VIRGL_CAP_TGSI_PRECISE (1 << 2)
> We should agree on the numbers here, Dave's experimental tree uses
> (1<<2) already for compute shaders, and I added (1<<3) for copy_image,
> so (1 << 4) would be the next one.
>
I don't think we need to. We could just go first-come-first-serve, and
let the merge-to-master point decide the number.
Synchronizing this seems like more work than just rebasing. Besides, it
only solves half of the problem; we have a similar issue with the
ordering of other caps, and I don't think there's anything else that
really works than merge-point.
Maybe we could make it a bit easier to deal with by not having the
bitflags in the caps, but an enum instead.
Something like this:
---8<---
enum virgl_cap {
VIRGL_CAP_TGSI_INVARIANT = 0,
VIRGL_CAP_TEXTURE_VIEW,
VIRGL_CAP_TEXTURE_PRECISE
}
inline bool virgl_has_cap(union virgl_caps caps, enum virgl_cap cap)
{
return caps.v2.capability_bits & (1 << (int)cap);
}
---8<---
We still need to keep the order up-to-date, but that might be a bit
easier than having to change the values as well... But on the other
hand, it's a lot of churn for a kinda hypothetical gain...
More information about the virglrenderer-devel
mailing list