projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
i965/blorp: Use ISL to compute image offsets
[mesa.git]
/
src
/
intel
/
vulkan
/
anv_device.c
diff --git
a/src/intel/vulkan/anv_device.c
b/src/intel/vulkan/anv_device.c
index c169d73892320a6db3f44878893db8c7e26af38a..e64790e9685e27d0eac2eadb413d0dfda16c0253 100644
(file)
--- a/
src/intel/vulkan/anv_device.c
+++ b/
src/intel/vulkan/anv_device.c
@@
-28,7
+28,7
@@
#include <fcntl.h>
#include "anv_private.h"
#include <fcntl.h>
#include "anv_private.h"
-#include "
git_sha1
.h"
+#include "
anv_timestamp
.h"
#include "util/strtod.h"
#include "util/debug.h"
#include "util/strtod.h"
#include "util/debug.h"
@@
-182,6
+182,12
@@
static const VkExtensionProperties global_extensions[] = {
.specVersion = 5,
},
#endif
.specVersion = 5,
},
#endif
+#ifdef VK_USE_PLATFORM_XLIB_KHR
+ {
+ .extensionName = VK_KHR_XLIB_SURFACE_EXTENSION_NAME,
+ .specVersion = 5,
+ },
+#endif
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
{
.extensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,
#ifdef VK_USE_PLATFORM_WAYLAND_KHR
{
.extensionName = VK_KHR_WAYLAND_SURFACE_EXTENSION_NAME,
@@
-372,15
+378,15
@@
void anv_GetPhysicalDeviceFeatures(
.robustBufferAccess = true,
.fullDrawIndexUint32 = true,
.imageCubeArray = false,
.robustBufferAccess = true,
.fullDrawIndexUint32 = true,
.imageCubeArray = false,
- .independentBlend =
pdevice->info->gen >= 8
,
+ .independentBlend =
true
,
.geometryShader = true,
.tessellationShader = false,
.geometryShader = true,
.tessellationShader = false,
- .sampleRateShading =
fals
e,
+ .sampleRateShading =
tru
e,
.dualSrcBlend = true,
.logicOp = true,
.multiDrawIndirect = false,
.drawIndirectFirstInstance = false,
.dualSrcBlend = true,
.logicOp = true,
.multiDrawIndirect = false,
.drawIndirectFirstInstance = false,
- .depthClamp =
fals
e,
+ .depthClamp =
tru
e,
.depthBiasClamp = false,
.fillModeNonSolid = true,
.depthBounds = false,
.depthBiasClamp = false,
.fillModeNonSolid = true,
.depthBounds = false,
@@
-426,7
+432,7
@@
void
anv_device_get_cache_uuid(void *uuid)
{
memset(uuid, 0, VK_UUID_SIZE);
anv_device_get_cache_uuid(void *uuid)
{
memset(uuid, 0, VK_UUID_SIZE);
- snprintf(uuid, VK_UUID_SIZE, "anv-%s",
MESA_GIT_SHA1 + 4
);
+ snprintf(uuid, VK_UUID_SIZE, "anv-%s",
ANV_TIMESTAMP
);
}
void anv_GetPhysicalDeviceProperties(
}
void anv_GetPhysicalDeviceProperties(
@@
-436,10
+442,12
@@
void anv_GetPhysicalDeviceProperties(
ANV_FROM_HANDLE(anv_physical_device, pdevice, physicalDevice);
const struct brw_device_info *devinfo = pdevice->info;
ANV_FROM_HANDLE(anv_physical_device, pdevice, physicalDevice);
const struct brw_device_info *devinfo = pdevice->info;
- anv_finishme("Get correct values for VkPhysicalDeviceLimits");
-
const float time_stamp_base = devinfo->gen >= 9 ? 83.333 : 80.0;
const float time_stamp_base = devinfo->gen >= 9 ? 83.333 : 80.0;
+ /* See assertions made when programming the buffer surface state. */
+ const uint32_t max_raw_buffer_sz = devinfo->gen >= 7 ?
+ (1ul << 30) : (1ul << 27);
+
VkSampleCountFlags sample_counts =
isl_device_get_sample_counts(&pdevice->isl_dev);
VkSampleCountFlags sample_counts =
isl_device_get_sample_counts(&pdevice->isl_dev);
@@
-450,8
+458,8
@@
void anv_GetPhysicalDeviceProperties(
.maxImageDimensionCube = (1 << 14),
.maxImageArrayLayers = (1 << 11),
.maxTexelBufferElements = 128 * 1024 * 1024,
.maxImageDimensionCube = (1 << 14),
.maxImageArrayLayers = (1 << 11),
.maxTexelBufferElements = 128 * 1024 * 1024,
- .maxUniformBufferRange =
UINT32_MAX
,
- .maxStorageBufferRange =
UINT32_MAX
,
+ .maxUniformBufferRange =
(1ul << 27)
,
+ .maxStorageBufferRange =
max_raw_buffer_sz
,
.maxPushConstantsSize = MAX_PUSH_CONSTANTS_SIZE,
.maxMemoryAllocationCount = UINT32_MAX,
.maxSamplerAllocationCount = 64 * 1024,
.maxPushConstantsSize = MAX_PUSH_CONSTANTS_SIZE,
.maxMemoryAllocationCount = UINT32_MAX,
.maxSamplerAllocationCount = 64 * 1024,
@@
-522,9
+530,9
@@
void anv_GetPhysicalDeviceProperties(
.maxTexelOffset = 7,
.minTexelGatherOffset = -8,
.maxTexelGatherOffset = 7,
.maxTexelOffset = 7,
.minTexelGatherOffset = -8,
.maxTexelGatherOffset = 7,
- .minInterpolationOffset =
0, /* FIXME */
- .maxInterpolationOffset = 0
, /* FIXME */
- .subPixelInterpolationOffsetBits =
0, /* FIXME */
+ .minInterpolationOffset =
-0.5,
+ .maxInterpolationOffset = 0
.4375,
+ .subPixelInterpolationOffsetBits =
4,
.maxFramebufferWidth = (1 << 14),
.maxFramebufferHeight = (1 << 14),
.maxFramebufferLayers = (1 << 10),
.maxFramebufferWidth = (1 << 14),
.maxFramebufferHeight = (1 << 14),
.maxFramebufferLayers = (1 << 10),
@@
-880,7
+888,7
@@
VkResult anv_CreateDevice(
anv_bo_init_new(&device->workaround_bo, device, 1024);
anv_bo_init_new(&device->workaround_bo, device, 1024);
- anv_
block_pool_init(&device->scratch_block_pool, device, 0x10000
);
+ anv_
scratch_pool_init(device, &device->scratch_pool
);
anv_queue_init(device, &device->queue);
anv_queue_init(device, &device->queue);
@@
-949,7
+957,7
@@
void anv_DestroyDevice(
anv_block_pool_finish(&device->instruction_block_pool);
anv_state_pool_finish(&device->surface_state_pool);
anv_block_pool_finish(&device->surface_state_block_pool);
anv_block_pool_finish(&device->instruction_block_pool);
anv_state_pool_finish(&device->surface_state_pool);
anv_block_pool_finish(&device->surface_state_block_pool);
- anv_
block_pool_finish(&device->scratch_block
_pool);
+ anv_
scratch_pool_finish(device, &device->scratch
_pool);
close(device->fd);
close(device->fd);