anv: Use vk_foreach_struct for handling extension structs
Reviewed-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
@@ -33,6 +33,7 @@
|
|||||||
#include "anv_private.h"
|
#include "anv_private.h"
|
||||||
#include "util/strtod.h"
|
#include "util/strtod.h"
|
||||||
#include "util/debug.h"
|
#include "util/debug.h"
|
||||||
|
#include "util/vk_util.h"
|
||||||
|
|
||||||
#include "genxml/gen7_pack.h"
|
#include "genxml/gen7_pack.h"
|
||||||
|
|
||||||
@@ -511,10 +512,10 @@ void anv_GetPhysicalDeviceFeatures2KHR(
|
|||||||
{
|
{
|
||||||
anv_GetPhysicalDeviceFeatures(physicalDevice, &pFeatures->features);
|
anv_GetPhysicalDeviceFeatures(physicalDevice, &pFeatures->features);
|
||||||
|
|
||||||
for (struct anv_common *c = pFeatures->pNext; c != NULL; c = c->pNext) {
|
vk_foreach_struct(ext, pFeatures->pNext) {
|
||||||
switch (c->sType) {
|
switch (ext->sType) {
|
||||||
default:
|
default:
|
||||||
anv_debug_ignored_stype(c->sType);
|
anv_debug_ignored_stype(ext->sType);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -669,10 +670,10 @@ void anv_GetPhysicalDeviceProperties2KHR(
|
|||||||
{
|
{
|
||||||
anv_GetPhysicalDeviceProperties(physicalDevice, &pProperties->properties);
|
anv_GetPhysicalDeviceProperties(physicalDevice, &pProperties->properties);
|
||||||
|
|
||||||
for (struct anv_common *c = pProperties->pNext; c != NULL; c = c->pNext) {
|
vk_foreach_struct(ext, pProperties->pNext) {
|
||||||
switch (c->sType) {
|
switch (ext->sType) {
|
||||||
default:
|
default:
|
||||||
anv_debug_ignored_stype(c->sType);
|
anv_debug_ignored_stype(ext->sType);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -746,11 +747,10 @@ void anv_GetPhysicalDeviceQueueFamilyProperties2KHR(
|
|||||||
anv_get_queue_family_properties(phys_dev,
|
anv_get_queue_family_properties(phys_dev,
|
||||||
&pQueueFamilyProperties->queueFamilyProperties);
|
&pQueueFamilyProperties->queueFamilyProperties);
|
||||||
|
|
||||||
for (struct anv_common *c = pQueueFamilyProperties->pNext;
|
vk_foreach_struct(ext, pQueueFamilyProperties->pNext) {
|
||||||
c != NULL; c = c->pNext) {
|
switch (ext->sType) {
|
||||||
switch (c->sType) {
|
|
||||||
default:
|
default:
|
||||||
anv_debug_ignored_stype(c->sType);
|
anv_debug_ignored_stype(ext->sType);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -815,11 +815,10 @@ void anv_GetPhysicalDeviceMemoryProperties2KHR(
|
|||||||
anv_GetPhysicalDeviceMemoryProperties(physicalDevice,
|
anv_GetPhysicalDeviceMemoryProperties(physicalDevice,
|
||||||
&pMemoryProperties->memoryProperties);
|
&pMemoryProperties->memoryProperties);
|
||||||
|
|
||||||
for (struct anv_common *c = pMemoryProperties->pNext;
|
vk_foreach_struct(ext, pMemoryProperties->pNext) {
|
||||||
c != NULL; c = c->pNext) {
|
switch (ext->sType) {
|
||||||
switch (c->sType) {
|
|
||||||
default:
|
default:
|
||||||
anv_debug_ignored_stype(c->sType);
|
anv_debug_ignored_stype(ext->sType);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -24,6 +24,8 @@
|
|||||||
#include "anv_private.h"
|
#include "anv_private.h"
|
||||||
#include "vk_format_info.h"
|
#include "vk_format_info.h"
|
||||||
|
|
||||||
|
#include "util/vk_util.h"
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* gcc-4 and earlier don't allow compound literals where a constant
|
* gcc-4 and earlier don't allow compound literals where a constant
|
||||||
* is required in -std=c99/gnu99 mode, so we can't use ISL_SWIZZLE()
|
* is required in -std=c99/gnu99 mode, so we can't use ISL_SWIZZLE()
|
||||||
@@ -470,11 +472,10 @@ void anv_GetPhysicalDeviceFormatProperties2KHR(
|
|||||||
anv_GetPhysicalDeviceFormatProperties(physicalDevice, format,
|
anv_GetPhysicalDeviceFormatProperties(physicalDevice, format,
|
||||||
&pFormatProperties->formatProperties);
|
&pFormatProperties->formatProperties);
|
||||||
|
|
||||||
for (struct anv_common *c = pFormatProperties->pNext;
|
vk_foreach_struct(ext, pFormatProperties->pNext) {
|
||||||
c != NULL; c = c->pNext) {
|
switch (ext->sType) {
|
||||||
switch (c->sType) {
|
|
||||||
default:
|
default:
|
||||||
anv_debug_ignored_stype(c->sType);
|
anv_debug_ignored_stype(ext->sType);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -668,11 +669,10 @@ VkResult anv_GetPhysicalDeviceImageFormatProperties2KHR(
|
|||||||
if (result != VK_SUCCESS)
|
if (result != VK_SUCCESS)
|
||||||
return result;
|
return result;
|
||||||
|
|
||||||
for (struct anv_common *c = pImageFormatProperties->pNext;
|
vk_foreach_struct(ext, pImageFormatProperties->pNext) {
|
||||||
c != NULL; c = c->pNext) {
|
switch (ext->sType) {
|
||||||
switch (c->sType) {
|
|
||||||
default:
|
default:
|
||||||
anv_debug_ignored_stype(c->sType);
|
anv_debug_ignored_stype(ext->sType);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@@ -1895,11 +1895,6 @@ void anv_dump_finish(void);
|
|||||||
void anv_dump_add_framebuffer(struct anv_cmd_buffer *cmd_buffer,
|
void anv_dump_add_framebuffer(struct anv_cmd_buffer *cmd_buffer,
|
||||||
struct anv_framebuffer *fb);
|
struct anv_framebuffer *fb);
|
||||||
|
|
||||||
struct anv_common {
|
|
||||||
VkStructureType sType;
|
|
||||||
struct anv_common *pNext;
|
|
||||||
};
|
|
||||||
|
|
||||||
#define ANV_DEFINE_HANDLE_CASTS(__anv_type, __VkType) \
|
#define ANV_DEFINE_HANDLE_CASTS(__anv_type, __VkType) \
|
||||||
\
|
\
|
||||||
static inline struct __anv_type * \
|
static inline struct __anv_type * \
|
||||||
|
Reference in New Issue
Block a user