summaryrefslogtreecommitdiffstats
path: root/src/vulkan
Commit message (Collapse)AuthorAgeFilesLines
* gen8/state: Fix QPitch for compressed textures on BroadwellJason Ekstrand2016-01-271-1/+14
|
* anv/image: Use the entire image height for compressed meta blitsJason Ekstrand2016-01-271-1/+1
|
* anv/image: Enlarge the image level 0 extentNanley Chery2016-01-271-4/+4
| | | | | | | | | | | | | | The extent previously was supposed to match the mip at a given level under the assumption that the base address would be that of the mip as well. Now however, the base address only matches the offset of the containing tile. Therefore, enlarge the extent to match that of phys_slice0, so that we don't draw/fetch in out of bounds territory. This solution isn't perfect because the base adress isn't always at the first tile, therefore the assumed valid memory region by the HW contains some number of invalid tiles on two edges.
* anv/image: Minify before dividing by block dimensionsJason Ekstrand2016-01-271-8/+8
|
* anv/meta: Don't double-call choose_buffer_formatJason Ekstrand2016-01-271-3/+2
| | | | This fixes all the renderpass tests
* anv/meta: Modify make_image_for_buffer()'s imageNanley Chery2016-01-271-7/+10
| | | | | Always use a valid buffer format and convert the extent to units of elements with respect to original image format.
* anv/image: Use custom VkBufferImageCopy for iview initializationNanley Chery2016-01-271-3/+10
| | | | | | Use a custom VkBufferImageCopy with the user-provided struct as the base. A few fields are modified when the iview is uncompressed and the underlying image is compressed.
* anv: Add offset parameter to anv_image_view_init()Nanley Chery2016-01-274-15/+17
| | | | | | This is the offset of the tile that contains the mip specified by isl_surf_get_image_intratile_offset_el(). Used to draw to/from the specified mip.
* anv/meta: Calculate mip offset for compressed textureNanley Chery2016-01-271-3/+16
| | | | This value will be used in a later commit.
* anv/meta: Disambiguate slice variable valueNanley Chery2016-01-271-11/+12
| | | | | This will simplify the usage of isl_surf_get_image_intratile_offset_el().
* gen8_state: use iview extent to program RENDER_SURFACE_STATENanley Chery2016-01-271-2/+2
| | | | | | | | | | | | | | | When creating an uncompressed ImageView on an compressed Image, the SurfaceFormat is updated to match the ImageView's. The surface dimensions must also change so that the HW sees the same size image instead of a 4x larger one. Fixes the following error which results from running many VulkanCTS compressed tests in one shot: ResourceError (vk.queueSubmit(queue, 1, &submitInfo, *m_fence): VK_ERROR_OUT_OF_DEVICE_MEMORY at vktPipelineImageSamplingInstance.cpp:921) Makes all compressed format tests with a height > 1 pass.
* anv/image: Scale iview extent by backing imageNanley Chery2016-01-272-3/+22
| | | | | | | | | | | | | | Aligns with formula's presented in Vulkan spec concerning CopyBufferToImage. 18.4 Copying Data Between Buffers and Images This won't conflict with valid API usage, because: 1) Users are not allowed to create an uncompressed ImageView with a compressed Image. see: VkSpec - 11.5 Image Views - VkImageViewCreateInfo's Valid Usage box 2) If users create a differently formatted compressed ImageView with a compressed Image, the block dimensions will still match. see: VkSpec - 28.3.1.5 Format Compatibility Classes - Table 28.5
* anv/meta: Set depth to 0 for buffer image in CopyBufferToImage()Nanley Chery2016-01-271-2/+1
| | | | | The buffer image is a flat 2D surface. Each surface represents an array/depth layer, therefore, the Z-offset is 0 when blitting.
* anv/meta: Use the uncompressed rectangle when blittingNanley Chery2016-01-271-9/+41
| | | | | | | | | For an uncompressed ImageView of a compressed Image, the dimensions and offsets are all divided by the appropriate block dimensions. We are not yet using an uncompressed ImageView for a compressed Image, but will do so in a future commit.
* anv/image: Update usages of isl_surf_get_image_offset_saNanley Chery2016-01-271-1/+1
|
* anv: Put back code to grow shader scratch spaceKristian Høgsberg Kristensen2016-01-271-0/+4
| | | | This was lost in commit a71e614d33e8d869bbaced8948349a7180783ab7.
* anv: Update the device limits.Kenneth Graunke2016-01-261-21/+17
| | | | Fixes dEQP-VK.api.info.device.properties. I haven't tested any others.
* gen7/cmd_buffer: SCISSOR_RECT structs are tightly packedJason Ekstrand2016-01-261-3/+3
| | | | | The pointer has to be 32-byte aligned, but the structs themselves are 2 dwords each, tightly packed.
* anv/pipeline: Set MaximumVPIndex in 3DSTATE_CLIPJason Ekstrand2016-01-262-2/+4
|
* anv/pipeline: Only lower input indirects if EmitNoIndirectInput is setJason Ekstrand2016-01-261-1/+3
|
* anv/formats: Use is_power_of_two instead of is_rgb to determine renderabilityJason Ekstrand2016-01-261-1/+1
|
* anv: Support swizzled formats.Jordan Justen2016-01-265-24/+71
| | | | | Some formats require a swizzle in order to map them to actual hardware formats. This allows us to turn on two new Vulkan formats.
* anv/image: Do swizzle remapping in anv_image.cJason Ekstrand2016-01-265-26/+27
| | | | | TODO: At some point, we really need to make an image_view_init_info that's a flyweight and stop stuffing everything into image_view.
* HACK: Expose support for stencil blitsJason Ekstrand2016-01-261-0/+2
| | | | | If someone actually tries to use them, they won't work, but at least we don't fail to return format properties now.
* genX/pipeline: Don't make vertex bindings with holesJason Ekstrand2016-01-261-6/+15
|
* anv/cmd_buffer: Put base_instance in the second componentJason Ekstrand2016-01-262-2/+2
|
* anv/image: clflush surface state map in anv_fill_buffer_surface_state().Francisco Jerez2016-01-265-17/+17
| | | | | | Some of its users had the required clflush on non-LLC platforms, some didn't. Put the clflush in anv_fill_buffer_surface_state() so we don't forget.
* anv/image: clflush the right state map in anv_fill_image_surface_state().Francisco Jerez2016-01-262-10/+10
| | | | | It was clflushing the nonrt_surface_state structure regardless of which state structure was actually being initialized.
* anv/image: Upload raw buffer surface state for untyped storage image and ↵Francisco Jerez2016-01-261-5/+26
| | | | texel buffer access.
* anv/image: Fix image parameter initialization.Francisco Jerez2016-01-261-8/+15
|
* anv/image: Actually fill out brw_image_param structsJason Ekstrand2016-01-261-8/+83
|
* anv/image_view: Add base mip and base layer fieldsJason Ekstrand2016-01-262-0/+4
| | | | These will be needed by image_load_store
* gen7: Add support for base vertex/instanceJason Ekstrand2016-01-261-0/+51
|
* gen8: Add support for base vertex/instanceJason Ekstrand2016-01-262-20/+87
|
* genX/pipeline: Break emit_vertex_input out into common codeJason Ekstrand2016-01-263-156/+107
| | | | | | It's mostly the same and contains some non-trivial logic, so it really should be shared. Also, we're about to make some modifications here that we would really like to share.
* anv: Remove long unused anv_aub.hKristian Høgsberg Kristensen2016-01-261-153/+0
|
* anv: Dirty fragment shader descriptors in meta restoreKristian Høgsberg Kristensen2016-01-261-1/+1
| | | | | We need to reemit render targets, so dirtying VK_SHADER_STAGE_VERTEX_BIT doesn't help us much.
* anv: Reemit STATE_BASE_ADDRESS after second level cmd buffersKristian Høgsberg Kristensen2016-01-261-0/+2
| | | | | Otherwise the primary batch will continue using the state base addresses set by the secondary. Fixes remaining renderpass tests.
* anv/meta: Fix sample mask in clear pipelinesChad Versace2016-01-261-1/+1
| | | | | | Once we begin emitting the correct sample mask, genX_3DSTATE_SAMPLE_MASK_pack will hit an assertion if the mask contains too many bits.
* HACK/i965: Default to scalar GS on BDW+Jason Ekstrand2016-01-251-4/+0
|
* gen7/state: Apply min/mag filters individually for samplersJason Ekstrand2016-01-251-5/+4
| | | | | This fixes tests which apply different min and mag filters, and depend on the min filter to be correct.
* gen8/state: Apply min/mag filters individually for samplersBen Widawsky2016-01-251-5/+2
| | | | | This fixes tests which apply different min and mag filters, and depend on the min filter to be correct.
* anv: Remove a few finished finishmeKristian Høgsberg Kristensen2016-01-251-4/+7
|
* anv: Remove stale assertKristian Høgsberg Kristensen2016-01-251-2/+0
| | | | | This goes back to when we didn't have the subpass number in the command buffer begin info.
* anv/meta: Fix CopyBuffer when size matches HW limitNanley Chery2016-01-251-1/+1
| | | | | | | | | Perform a copy when the copy_size matches the HW limit (max_copy_size). Otherwise the current behavior is that we fail the following assertion: assert(height < max_surface_dim); because the values are equal.
* anv: Don't use uninitialized barycentric_interp_modesKristian Høgsberg Kristensen2016-01-251-1/+2
| | | | If we don't have a fragment shader, wm_prog_data in undefined.
* anv: Disable fs dispatch for depth/stencil only pipelinesKristian Høgsberg Kristensen2016-01-253-135/+138
| | | | Fixes most renderpass bugs.
* anv/cmd_buffer: Zero out binding tables and samplers in state_resetJason Ekstrand2016-01-221-3/+5
| | | | | This fixes a use of an undefined value if the client uses push constants in a stage without ever setting any descriptors on GEN8-9.
* anv/format: Add a helpful comment about format namesJason Ekstrand2016-01-221-0/+5
|
* anv/formats: Add support for 3 more formatsJason Ekstrand2016-01-221-4/+4
|