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

Lionel Landwerlin lionel.g.landwerlin at intel.com
Tue Aug 28 17:40:03 UTC 2018


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 <mailto: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>

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?


-

Lionel

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/mesa-dev/attachments/20180828/51338fe5/attachment.html>


More information about the mesa-dev mailing list