anv/image: Vulkan's depthPitch is in bytes, not rows
[mesa.git] / src / vulkan / gen7_state.c
index e6c544053defc69e7c89fdd1a536ca9cd8260260..a3cb95dbb52a056951c2a62aebb43f904f73ed3c 100644 (file)
@@ -64,32 +64,32 @@ genX(fill_buffer_surface_state)(void *state, const struct anv_format *format,
 }
 
 static const uint32_t vk_to_gen_tex_filter[] = {
-   [VK_TEX_FILTER_NEAREST]                      = MAPFILTER_NEAREST,
-   [VK_TEX_FILTER_LINEAR]                       = MAPFILTER_LINEAR
+   [VK_FILTER_NEAREST]                          = MAPFILTER_NEAREST,
+   [VK_FILTER_LINEAR]                           = MAPFILTER_LINEAR
 };
 
 static const uint32_t vk_to_gen_mipmap_mode[] = {
-   [VK_TEX_MIPMAP_MODE_BASE]                    = MIPFILTER_NONE,
-   [VK_TEX_MIPMAP_MODE_NEAREST]                 = MIPFILTER_NEAREST,
-   [VK_TEX_MIPMAP_MODE_LINEAR]                  = MIPFILTER_LINEAR
+   [VK_SAMPLER_MIPMAP_MODE_BASE]                = MIPFILTER_NONE,
+   [VK_SAMPLER_MIPMAP_MODE_NEAREST]             = MIPFILTER_NEAREST,
+   [VK_SAMPLER_MIPMAP_MODE_LINEAR]              = MIPFILTER_LINEAR
 };
 
 static const uint32_t vk_to_gen_tex_address[] = {
-   [VK_TEX_ADDRESS_MODE_WRAP]                   = TCM_WRAP,
-   [VK_TEX_ADDRESS_MODE_MIRROR]                 = TCM_MIRROR,
-   [VK_TEX_ADDRESS_MODE_CLAMP]                  = TCM_CLAMP,
-   [VK_TEX_ADDRESS_MODE_MIRROR_ONCE]            = TCM_MIRROR_ONCE,
-   [VK_TEX_ADDRESS_MODE_CLAMP_BORDER]           = TCM_CLAMP_BORDER,
+   [VK_SAMPLER_ADDRESS_MODE_REPEAT]             = TCM_WRAP,
+   [VK_SAMPLER_ADDRESS_MODE_MIRRORED_REPEAT]    = TCM_MIRROR,
+   [VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_EDGE]      = TCM_CLAMP,
+   [VK_SAMPLER_ADDRESS_MODE_MIRROR_CLAMP_TO_EDGE] = TCM_MIRROR_ONCE,
+   [VK_SAMPLER_ADDRESS_MODE_CLAMP_TO_BORDER]    = TCM_CLAMP_BORDER,
 };
 
 static const uint32_t vk_to_gen_compare_op[] = {
    [VK_COMPARE_OP_NEVER]                        = PREFILTEROPNEVER,
    [VK_COMPARE_OP_LESS]                         = PREFILTEROPLESS,
    [VK_COMPARE_OP_EQUAL]                        = PREFILTEROPEQUAL,
-   [VK_COMPARE_OP_LESS_EQUAL]                   = PREFILTEROPLEQUAL,
+   [VK_COMPARE_OP_LESS_OR_EQUAL]                = PREFILTEROPLEQUAL,
    [VK_COMPARE_OP_GREATER]                      = PREFILTEROPGREATER,
    [VK_COMPARE_OP_NOT_EQUAL]                    = PREFILTEROPNOTEQUAL,
-   [VK_COMPARE_OP_GREATER_EQUAL]                = PREFILTEROPGEQUAL,
+   [VK_COMPARE_OP_GREATER_OR_EQUAL]             = PREFILTEROPGEQUAL,
    [VK_COMPARE_OP_ALWAYS]                       = PREFILTEROPALWAYS,
 };
 
@@ -107,6 +107,7 @@ alloc_surface_state(struct anv_device *device,
 VkResult genX(CreateSampler)(
     VkDevice                                    _device,
     const VkSamplerCreateInfo*                  pCreateInfo,
+    const VkAllocationCallbacks*                pAllocator,
     VkSampler*                                  pSampler)
 {
    ANV_FROM_HANDLE(anv_device, device, _device);
@@ -115,8 +116,8 @@ VkResult genX(CreateSampler)(
 
    assert(pCreateInfo->sType == VK_STRUCTURE_TYPE_SAMPLER_CREATE_INFO);
 
-   sampler = anv_device_alloc(device, sizeof(*sampler), 8,
-                              VK_SYSTEM_ALLOC_TYPE_API_OBJECT);
+   sampler = anv_alloc2(&device->alloc, pAllocator, sizeof(*sampler), 8,
+                        VK_SYSTEM_ALLOCATION_SCOPE_OBJECT);
    if (!sampler)
       return vk_error(VK_ERROR_OUT_OF_HOST_MEMORY);
 
@@ -134,7 +135,7 @@ VkResult genX(CreateSampler)(
       .SamplerDisable = false,
       .TextureBorderColorMode = DX10OGL,
       .BaseMipLevel = 0.0,
-      .MipModeFilter = vk_to_gen_mipmap_mode[pCreateInfo->mipMode],
+      .MipModeFilter = vk_to_gen_mipmap_mode[pCreateInfo->mipmapMode],
       .MagModeFilter = mag_filter,
       .MinModeFilter = min_filter,
       .TextureLODBias = pCreateInfo->mipLodBias * 256,
@@ -231,8 +232,8 @@ genX(image_view_init)(struct anv_image_view *iview,
    };
 
    uint32_t depth = 1;
-   if (range->arraySize > 1) {
-      depth = range->arraySize;
+   if (range->layerCount > 1) {
+      depth = range->layerCount;
    } else if (image->extent.depth > 1) {
       depth = image->extent.depth;
    }
@@ -300,7 +301,7 @@ genX(image_view_init)(struct anv_image_view *iview,
        * sampler engine is [SurfaceMinLOD, SurfaceMinLOD + MIPCountLOD].
        */
       surface_state.SurfaceMinLOD = range->baseMipLevel;
-      surface_state.MIPCountLOD = range->mipLevels - 1;
+      surface_state.MIPCountLOD = range->levelCount - 1;
 
       GENX(RENDER_SURFACE_STATE_pack)(NULL, iview->nonrt_surface_state.map,
                                       &surface_state);