[Mesa-dev] [PATCH 3/3] anv: Claim to support depthBounds for ID games

Jason Ekstrand jason at jlekstrand.net
Tue Aug 28 18:02:17 UTC 2018


On Tue, Aug 28, 2018 at 12:40 PM Lionel Landwerlin <
lionel.g.landwerlin at intel.com> wrote:

> On 27/08/2018 23:48, Jason Ekstrand wrote:
>
> On Mon, Aug 27, 2018 at 12:50 PM Lionel Landwerlin <
> lionel.g.landwerlin at intel.com> wrote:
>
>> On 23/08/2018 16:13, Jason Ekstrand wrote:
>> > ---
>> >   src/intel/vulkan/anv_device.c | 9 +++++++++
>> >   1 file changed, 9 insertions(+)
>> >
>> > diff --git a/src/intel/vulkan/anv_device.c
>> b/src/intel/vulkan/anv_device.c
>> > index 0357fc7c0ea..5a63592f7ca 100644
>> > --- a/src/intel/vulkan/anv_device.c
>> > +++ b/src/intel/vulkan/anv_device.c
>> > @@ -854,6 +854,15 @@ void anv_GetPhysicalDeviceFeatures(
>> >      pFeatures->vertexPipelineStoresAndAtomics =
>> >         pdevice->compiler->scalar_stage[MESA_SHADER_VERTEX] &&
>> >         pdevice->compiler->scalar_stage[MESA_SHADER_GEOMETRY];
>> > +
>> > +   struct anv_app_info *app_info = &pdevice->instance->app_info;
>> > +
>> > +   /* The new DOOM and Wolfenstein games require depthBounds without
>> > +    * checking for it.  They seem to run fine without it so just claim
>> it's
>> > +    * there and accept the consequences.
>> > +    */
>> > +   if (app_info->engine_name && strcmp(app_info->engine_name,
>> "idTech") == 0)
>> > +      pFeatures->depthBounds = true;
>> >   }
>> >
>> >   void anv_GetPhysicalDeviceFeatures2(
>>
>> I'm struggling to understand "require depthBounds with checking for it".
>> I thought one would check for the feature by reading the boolean you
>> just set. So if it's not checked why would it make a difference?
>>
>
> The Vulkan spec requires that we throw VK_ERROR_INITIALIZATION_FAILED if
> the client enables any features we have not advertised.  This gives us two
> options: 1) advertise support for depthBounds for idTech games or 2) Skip
> the check for depthBounds in CreateDevice and let it succeed even if it's
> enabled for idTech games.  This patch takes the former approach since it's
> easier.
>
> --Jason
>
>
> Oh thanks for the explanation.
> With the strdup() fix this series is :
>
> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin at intel.com>
> <lionel.g.landwerlin at intel.com>
>

Thanks!


> I remember talks about doing this kind of tricks for particular titles in
> a layer.
>
> It doesn't necessarily makes things easier for us, but are you still
> thinking about that layer mechanism?
>
If someone wants to write that layer, great.  If not, it's easier for us to
just do it in the driver.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180828/e552f2bb/attachment-0001.html>


More information about the mesa-dev mailing list