aboutsummaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/anv_meta_blit2d.c
Commit message (Collapse)AuthorAgeFilesLines
* nir/builder: Add a helper for grabbing multiple channels from an ssa defJason Ekstrand2016-05-141-3/+1
| | | | | | | This is similar to nir_channel except that it lets you grab more than one channel by providing a mask. Reviewed-by: Kenneth Graunke <[email protected]>
* anv: Replace ::disable_scissor with ::use_rectlistsNanley Chery2016-04-131-1/+0
| | | | | | | | | Meta currently uses screenspace RECTLIST primitives that lie within the framebuffer rectangle. Since this behavior shouldn't change in the future, disable the scissor operation whenever rectlists are used. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Kristian Høgsberg Kristensen <[email protected]>
* anv: Delete anv_graphics_pipeline_create_info::disable_viewportNanley Chery2016-04-131-1/+0
| | | | | | | There are no users of this field. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Kristian Høgsberg Kristensen <[email protected]>
* anv/meta: Don't set the dynamic state for disabled operationsNanley Chery2016-04-131-13/+1
| | | | | | | | | CmdSet* functions dirty the CommandBuffer's dynamic state. This causes the new state to be emitted when CmdDraw is called. Since we don't need the state that would be emitted, don't call the CmdSet* functions. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Kristian Høgsberg Kristensen <[email protected]>
* anv/meta: Make clflushes conditional on !devinfo->has_llcJason Ekstrand2016-04-081-2/+4
|
* anv/blit2d: Add support for W-tiled destinationsJason Ekstrand2016-04-081-44/+322
| | | | | Reviewed-by: Nanley Chery <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* anv/blit2d: Add another passthrough varying to the VSJason Ekstrand2016-04-081-0/+9
| | | | | | We need the VS to provide some setup data for other stages. Reviewed-by: Nanley Chery <[email protected]>
* anv/image: Remove the offset parameter from image_view_initJason Ekstrand2016-04-081-2/+2
| | | | | | | The only place we were using this was in meta_blit2d which always creates a new image anyway so we can just use the image offset. Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Add a bind_dst helper functionJason Ekstrand2016-04-081-33/+55
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Simplify create_iviewJason Ekstrand2016-04-081-30/+25
| | | | | | | Now it just creates the image and view. The caller is responsible for handling the offset calculations. Reviewed-by: Nanley Chery <[email protected]>
* anv/meta2d: Add support for blitting from W-tiled sources on gen7Jason Ekstrand2016-04-081-49/+204
| | | | | Reviewed-by: Nanley Chery <[email protected]> Reviewed-by: Chad Versace <[email protected]>
* isl: Rework the get_intratile_offset functionJason Ekstrand2016-04-081-5/+8
| | | | | | | | | | The old function tried to work in elements which isn't, strictly speaking, a valid thing to do. In the case of a non-power-of-two format, there is no guarantee that the x offset into the tile is a multiple of the format block size. This commit refactors it to work entirely in terms of a tiling (not a surface) and bytes/rows. Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Refactor in preparation for different src/dst typesJason Ekstrand2016-04-081-117/+232
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Add layouts for using a texel buffer sourceJason Ekstrand2016-04-081-10/+49
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Rename the descriptor set and pipeline layoutsJason Ekstrand2016-04-081-10/+10
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Enhance teardown and clean up init error pathsJason Ekstrand2016-04-081-60/+57
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Factor binding the source image into a helperJason Ekstrand2016-04-081-57/+82
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Inline meta_emit_blit2dJason Ekstrand2016-04-081-191/+170
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Pass the source pitch into the shaderJason Ekstrand2016-04-081-8/+13
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Break the texelfetch portion of shader building into a helperJason Ekstrand2016-04-081-23/+36
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Fix whitespaceJason Ekstrand2016-04-081-10/+10
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Fix a NIR writemaskJason Ekstrand2016-04-081-1/+1
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/meta2d: Don't declare an array sampler in the fragment shaderJason Ekstrand2016-04-081-4/+4
| | | | | | | | With the new blit framework we aren't using array textures and, from talking with Nanley, we don't think it's going to be useful in the future either. Just get rid of it for now. Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Remove the tex_dim parameter from copy_fragment_shaderJason Ekstrand2016-04-081-4/+4
| | | | Reviewed-by: Nanley Chery <[email protected]>
* anv/blit2d: Add a function to create an ImageViewNanley Chery2016-03-251-113/+83
| | | | | | | | | This function differs from the open-coded implementation in that the ImageView's width is determined by the caller and is not unconditionally set to match the number of texels within the surface's pitch. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* Merge remote-tracking branch 'public/master' into vulkanJason Ekstrand2016-03-241-1/+1
|
* anv/blit: Reduce number of VUE headers being readNanley Chery2016-03-161-1/+1
| | | | | Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv/blit2d: Only use one extent in meta_emit_blit2dNanley Chery2016-03-161-10/+8
| | | | | | | Since scaling isn't involved, we don't need multiple extents. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv/blit2d: Remove sampler from pipelineNanley Chery2016-03-161-14/+4
| | | | | | | | | | | | | Since we're using texelFetch with a sampled image, a sampler is no longer needed. This agrees with the Vulkan Spec section 13.2.4 Descriptor Set Updates: sampler is a sampler handle, and is used in descriptor updates for types VK_DESCRIPTOR_TYPE_SAMPLER and VK_DESCRIPTOR_TYPE_COMBINED_IMAGE_SAMPLER if the binding being updated does not use immutable samplers. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv/blit2d: Use texel fetch in frag shaderNanley Chery2016-03-161-25/+18
| | | | | | | | | | | | | | | | The texelFetch operation requires that the sampled texture coordinates be unnormalized integers. This will simplify the copy shader for w-tiled images (stencil buffers). v2 (Jason): Use f2i for texel coords Fix num_components indirectly Use float inputs for interpolation Nest tex_pos functions Suggested-by: Jason Ekstrand <[email protected]> Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv/blit2d: Customize meta blit structs and functions for blit2d APINanley Chery2016-03-161-90/+24
| | | | | | | | | * Add fields in meta struct * Add support in meta init/teardown * Switch to custom meta_emit_blit2d() Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv/blit2d: Copy anv_meta_blit.c functionsNanley Chery2016-03-161-0/+597
| | | | | | | These will be customized for blit2d operations. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv/blit2d: Use the tiling enum for simplicityNanley Chery2016-03-091-4/+2
| | | | | Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
* anv/meta: Prefix anv_ to meta_emit_blit()Nanley Chery2016-03-091-1/+1
| | | | | | | Follow the convention for non-static functions. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
* anv/meta: Split anv_meta_blit.c into three filesNanley Chery2016-03-091-0/+213
The new organization is as follows: * anv_meta_blit.c: Blit and state setup/teardown commands * anv_meta_copy.c: Copy and update commands * anv_meta_blit2d.c: 2D Blitter API commands Also, change the formatting to contain most lines within 80 columns. Signed-off-by: Nanley Chery <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>