nil: Advertise S8_UINT on MaxwellB+

Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/24596>
This commit is contained in:
Faith Ekstrand 2024-04-18 17:12:23 -05:00
parent 58b5f6b678
commit 42b85780c6
3 changed files with 10 additions and 3 deletions

View File

@ -2,7 +2,7 @@
// SPDX-License-Identifier: MIT
use nil_rs_bindings::*;
use nvidia_headers::classes::{cla297, clb097};
use nvidia_headers::classes::{cla297, clb097, clb197};
use crate::extent::{units, Extent4D};
@ -104,7 +104,10 @@ impl Format {
self.info().support() & NIL_FORMAT_SUPPORTS_ALPHA_BLEND_BIT != 0
}
pub fn supports_depth_stencil(&self, _dev: &nv_device_info) -> bool {
pub fn supports_depth_stencil(&self, dev: &nv_device_info) -> bool {
if self.p_format == PIPE_FORMAT_S8_UINT {
return dev.cls_eng3d >= clb197::MAXWELL_B;
}
self.info().support() & NIL_FORMAT_SUPPORTS_DEPTH_STENCIL_BIT != 0
}
}

View File

@ -65,6 +65,8 @@ TEMPLATE_C = template.Template(text="""\
#include "cl9097tex.h"
#include "clb097.h"
#include "clb097tex.h"
#include "clb197.h"
#include "clb197tex.h"
const struct nil_format_info nil_format_table[PIPE_FORMAT_COUNT] = {
% for f in formats:
@ -96,12 +98,14 @@ CT_FORMAT_PREFIX = {
ZT_FORMAT_PREFIX = {
None : 'NV9097_SET_ZT_FORMAT_V_',
'maxwella' : 'NVB097_SET_ZT_FORMAT_V_',
'maxwellb' : 'NVB197_SET_ZT_FORMAT_V_',
'tk1' : 'NVB097_SET_ZT_FORMAT_V_',
}
TCS_PREFIX = {
None : 'NV9097_TEXHEADV2_0_COMPONENT_SIZES_',
'maxwella' : 'NVB097_TEXHEAD_BL_COMPONENTS_SIZES_',
'maxwellb' : 'NVB197_TEXHEAD_BL_COMPONENTS_SIZES_',
'tk1' : 'NVB097_TEXHEAD_BL_COMPONENTS_SIZES_',
}

View File

@ -147,7 +147,7 @@ S8_UINT_Z24_UNORM , Z24S8 , Z24S8 , UN , G00
Z32_FLOAT_S8X24_UINT , ZF32_X24S8 , ZF32_X24S8 , FU , R001 , TZ
# Stencil-only formats
S8_UINT , NONE , R8 , U , R001 , T
S8_UINT , S8 , R8 , U , R001 , TZ , MaxwellB
X24S8_UINT , NONE , G8R24 , UU , G001 , T
S8X24_UINT , NONE , G24R8 , UU , R001 , T
X32_S8X24_UINT , NONE , R32_B24G8 , UU , G001 , T

Can't render this file because it has a wrong number of fields in line 27.