mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2025-12-23 15:30:14 +01:00
anv: Build for gen12
Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
This commit is contained in:
parent
da603c066e
commit
181be14d43
6 changed files with 29 additions and 1 deletions
|
|
@ -322,6 +322,10 @@ VULKAN_GEN11_FILES := \
|
||||||
vulkan/gen8_cmd_buffer.c \
|
vulkan/gen8_cmd_buffer.c \
|
||||||
$(VULKAN_GENX_FILES)
|
$(VULKAN_GENX_FILES)
|
||||||
|
|
||||||
|
VULKAN_GEN12_FILES := \
|
||||||
|
vulkan/gen8_cmd_buffer.c \
|
||||||
|
$(VULKAN_GENX_FILES)
|
||||||
|
|
||||||
GEN_PERF_XML_FILES = \
|
GEN_PERF_XML_FILES = \
|
||||||
perf/oa-hsw.xml \
|
perf/oa-hsw.xml \
|
||||||
perf/oa-bdw.xml \
|
perf/oa-bdw.xml \
|
||||||
|
|
|
||||||
|
|
@ -117,6 +117,9 @@ anv_device_init_blorp(struct anv_device *device)
|
||||||
case 11:
|
case 11:
|
||||||
device->blorp.exec = gen11_blorp_exec;
|
device->blorp.exec = gen11_blorp_exec;
|
||||||
break;
|
break;
|
||||||
|
case 12:
|
||||||
|
device->blorp.exec = gen12_blorp_exec;
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
unreachable("Unknown hardware generation");
|
unreachable("Unknown hardware generation");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -415,6 +415,8 @@ anv_physical_device_init(struct anv_physical_device *device,
|
||||||
intel_logw("Bay Trail Vulkan support is incomplete");
|
intel_logw("Bay Trail Vulkan support is incomplete");
|
||||||
} else if (device->info.gen >= 8 && device->info.gen <= 11) {
|
} else if (device->info.gen >= 8 && device->info.gen <= 11) {
|
||||||
/* Gen8-11 fully supported */
|
/* Gen8-11 fully supported */
|
||||||
|
} else if (device->info.gen == 12) {
|
||||||
|
intel_logw("Vulkan is not yet fully supported on gen12");
|
||||||
} else {
|
} else {
|
||||||
result = vk_errorf(device->instance, device,
|
result = vk_errorf(device->instance, device,
|
||||||
VK_ERROR_INCOMPATIBLE_DRIVER,
|
VK_ERROR_INCOMPATIBLE_DRIVER,
|
||||||
|
|
@ -2125,6 +2127,9 @@ anv_device_init_dispatch(struct anv_device *device)
|
||||||
{
|
{
|
||||||
const struct anv_device_dispatch_table *genX_table;
|
const struct anv_device_dispatch_table *genX_table;
|
||||||
switch (device->info.gen) {
|
switch (device->info.gen) {
|
||||||
|
case 12:
|
||||||
|
genX_table = &gen12_device_dispatch_table;
|
||||||
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
genX_table = &gen11_device_dispatch_table;
|
genX_table = &gen11_device_dispatch_table;
|
||||||
break;
|
break;
|
||||||
|
|
@ -2524,6 +2529,9 @@ VkResult anv_CreateDevice(
|
||||||
case 11:
|
case 11:
|
||||||
result = gen11_init_device_state(device);
|
result = gen11_init_device_state(device);
|
||||||
break;
|
break;
|
||||||
|
case 12:
|
||||||
|
result = gen12_init_device_state(device);
|
||||||
|
break;
|
||||||
default:
|
default:
|
||||||
/* Shouldn't get here as we don't create physical devices for any other
|
/* Shouldn't get here as we don't create physical devices for any other
|
||||||
* gens. */
|
* gens. */
|
||||||
|
|
|
||||||
|
|
@ -45,6 +45,7 @@ LAYERS = [
|
||||||
'gen9',
|
'gen9',
|
||||||
'gen10',
|
'gen10',
|
||||||
'gen11',
|
'gen11',
|
||||||
|
'gen12',
|
||||||
]
|
]
|
||||||
|
|
||||||
TEMPLATE_H = Template("""\
|
TEMPLATE_H = Template("""\
|
||||||
|
|
@ -383,6 +384,9 @@ anv_resolve_device_entrypoint(const struct gen_device_info *devinfo, uint32_t in
|
||||||
{
|
{
|
||||||
const struct anv_device_dispatch_table *genX_table;
|
const struct anv_device_dispatch_table *genX_table;
|
||||||
switch (devinfo->gen) {
|
switch (devinfo->gen) {
|
||||||
|
case 12:
|
||||||
|
genX_table = &gen12_device_dispatch_table;
|
||||||
|
break;
|
||||||
case 11:
|
case 11:
|
||||||
genX_table = &gen11_device_dispatch_table;
|
genX_table = &gen11_device_dispatch_table;
|
||||||
break;
|
break;
|
||||||
|
|
|
||||||
|
|
@ -1506,6 +1506,11 @@ _anv_combine_address(struct anv_batch *batch, void *location,
|
||||||
#define GEN11_MOCS GEN9_MOCS
|
#define GEN11_MOCS GEN9_MOCS
|
||||||
#define GEN11_EXTERNAL_MOCS GEN9_EXTERNAL_MOCS
|
#define GEN11_EXTERNAL_MOCS GEN9_EXTERNAL_MOCS
|
||||||
|
|
||||||
|
/* TigerLake MOCS */
|
||||||
|
#define GEN12_MOCS GEN9_MOCS
|
||||||
|
/* TC=1/LLC Only, LeCC=1/Uncacheable, LRUM=0, L3CC=1/Uncacheable */
|
||||||
|
#define GEN12_EXTERNAL_MOCS (3 << 1)
|
||||||
|
|
||||||
struct anv_device_memory {
|
struct anv_device_memory {
|
||||||
struct list_head link;
|
struct list_head link;
|
||||||
|
|
||||||
|
|
@ -3809,6 +3814,9 @@ ANV_DEFINE_NONDISP_HANDLE_CASTS(anv_ycbcr_conversion, VkSamplerYcbcrConversion)
|
||||||
# define genX(x) gen11_##x
|
# define genX(x) gen11_##x
|
||||||
# include "anv_genX.h"
|
# include "anv_genX.h"
|
||||||
# undef genX
|
# undef genX
|
||||||
|
# define genX(x) gen12_##x
|
||||||
|
# include "anv_genX.h"
|
||||||
|
# undef genX
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#endif /* ANV_PRIVATE_H */
|
#endif /* ANV_PRIVATE_H */
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,8 @@ anv_gen_files = files(
|
||||||
)
|
)
|
||||||
foreach g : [['70', ['gen7_cmd_buffer.c']], ['75', ['gen7_cmd_buffer.c']],
|
foreach g : [['70', ['gen7_cmd_buffer.c']], ['75', ['gen7_cmd_buffer.c']],
|
||||||
['80', ['gen8_cmd_buffer.c']], ['90', ['gen8_cmd_buffer.c']],
|
['80', ['gen8_cmd_buffer.c']], ['90', ['gen8_cmd_buffer.c']],
|
||||||
['100', ['gen8_cmd_buffer.c']], ['110', ['gen8_cmd_buffer.c']]]
|
['100', ['gen8_cmd_buffer.c']], ['110', ['gen8_cmd_buffer.c']],
|
||||||
|
['120', ['gen8_cmd_buffer.c']]]
|
||||||
_gen = g[0]
|
_gen = g[0]
|
||||||
libanv_gen_libs += static_library(
|
libanv_gen_libs += static_library(
|
||||||
'anv_gen@0@'.format(_gen),
|
'anv_gen@0@'.format(_gen),
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue