summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan
Commit message (Collapse)AuthorAgeFilesLines
* anv/gen7: Clean up the dummy PS caseJason Ekstrand2016-02-271-19/+13
| | | | Fix whitespace and remove dead comments
* anv/gen7: Set MaximumNumberofThreads in the dummy PS packetJason Ekstrand2016-02-271-1/+5
|
* anv/gen7: Only try to get the depth format the surface has depthJason Ekstrand2016-02-271-1/+4
|
* anv/image: Use isl for filling brw_image_paramJason Ekstrand2016-02-271-111/+6
|
* anv: Fill out image_param structs at view creation timeJason Ekstrand2016-02-273-4/+12
|
* anv/image: Add a ussage_mask field to image_view_initJason Ekstrand2016-02-275-19/+21
| | | | | | | | This allows us to avoid doing some unneeded work on the meta paths where we know that the image view will be used for exactly one thing. The meta paths also sometimes do things that aren't quite valid like setting the array slice on a 3-D texture and we want to limit the number of paths that need to be able to sensibly handle the lies.
* anv: Use isl to fill buffer surface statesJason Ekstrand2016-02-273-81/+6
|
* anv: Remove unneeded fiels from anv_image_viewJason Ekstrand2016-02-272-8/+6
|
* anv/state: Remove unused fill_surface_state functionsJason Ekstrand2016-02-273-419/+0
|
* anv: Use ISL to fill out surface statesJason Ekstrand2016-02-271-71/+79
|
* anv/device: Store the default MOCS in the deviceJason Ekstrand2016-02-273-7/+15
|
* gen/genX_pack: Add genxml to the pack header pathJason Ekstrand2016-02-271-1/+0
| | | | | | | | If you have an out-of-tree build, gen8_pack.h and friends will not be in the same folder as genX_pack.h so this will be a problem. We fixed out-of-tree earlier by adding the genxml folder to the includes for the vulkan driver. However, this is not a good long-term solution because we want to use it in ISL as well.
* anv: remove stray ; after ifThomas Hindoe Paaboel Andersen2016-02-261-2/+2
| | | | | | | Both logic and indentation suggests that the ; were not intended here. Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]>
* anv/gen8: Emit the 3DSTATE_PS_BLEND packetJason Ekstrand2016-02-261-0/+23
|
* anv/device: Properly handle apiVersion == 0Jason Ekstrand2016-02-251-3/+8
| | | | | | From the Vulkan 1.0 spec section 3.2: "If apiVersion is 0 the implementation must ignore it"
* anv: Set max_hs_threads/max_ds_threadsKristian Høgsberg Kristensen2016-02-241-2/+2
|
* anv: Allocate more push constant space.Kenneth Graunke2016-02-241-5/+11
| | | | | | | | | | | | | | | Previously we allocated 4kB of push constant space for VS, GS, and PS (for a total of 12kB) no matter what. This works, but doesn't fully utilize the space - we have 16kB or 32kB of space. This makes anv use the same method as brw - divide up the space evenly among all active shader stages. This means HS and DS would get space, if those shader stages existed. In the future, we can probably do better by inspecting how many push constants each shader stage uses, and weight things accordingly. But this is strictly better than the old code, and ideally we'd justify a fancier solution with actual performance data.
* anv: Properly size the push constant L3 area.Kenneth Graunke2016-02-241-3/+8
| | | | | We were assuming it was 32kB everywhere, reducing the available URB space. It's actually 16kB on Ivybridge, Baytrail, and Haswell GT1-2.
* anv: Emit 3DSTATE_PUSH_CONSTANT_ALLOC_* via a loop.Kenneth Graunke2016-02-243-9/+15
| | | | Now we're emitting HS and DS packets as well.
* anv: Emit 3DSTATE_URB_* via a loop.Kenneth Graunke2016-02-243-31/+24
| | | | | | | | | | Rather than keeping separate {vs,hs,ds,gs}_start fields, we now store an array indexed by the shader stage (MESA_SHADER_*). The 3DSTATE_URB_* commands are also sequentially numbered. This makes it easy to just emit them in a loop. This simplifies the code a little, and also will make it easier to add more credible HS and DS code later.
* anv/descriptor_set: Use the correct size for the descriptor poolJason Ekstrand2016-02-231-6/+3
| | | | | | | The descriptor sizes array gives the total number of each type of descriptor that will ever be allocated from the pool, not the total amount that may be in any particular set. In our case, this simply means that we have to sum a bunch of things up and there we go.
* anv/meta: Allocate descriptor pools on-the-flyJason Ekstrand2016-02-234-33/+39
| | | | | | | We can't use a global descriptor pool like we were because it's not thread-safe. For now, we'll allocate them on-the-fly and that should work fine. At some point in the future, we could do something where we stack-allocate them or allocate them out of one of the state streams.
* anv/descriptor_set: Set descriptor type for immuatable samplersJason Ekstrand2016-02-221-2/+11
|
* anv/state: Replace a bunch of ANV_GEN with GEN_GENJason Ekstrand2016-02-221-6/+6
|
* anv/descriptor_set: Stop marking everything as having dynamic offsetsJason Ekstrand2016-02-221-2/+4
|
* anv: Implement descriptor poolsKristian Høgsberg Kristensen2016-02-225-45/+200
| | | | | | | | Descriptor pools are an optimization that lets applications allocate descriptor sets through an externally synchronized object (that is, unlocked). In our case it's also plugging a memory leak, since we didn't track all allocated sets and failed to free them in vkResetDescriptorPool() and vkDestroyDescriptorPool().
* anv/x11: Free swapchain images and memory on destroyKristian Høgsberg Kristensen2016-02-221-1/+5
|
* vulkan: fix out-of-tree buildsMark Janes2016-02-221-0/+1
|
* anv/meta_blit: Handle compressed textures in anv_CmdCopyImageNanley Chery2016-02-221-25/+37
| | | | | | | As with anv_CmdCopyBufferToImage, compressed textures require special handling during copies. Reviewed-by: Kristian Høgsberg Kristensen <[email protected]>
* anv: Fix a typo in apply_dynamic_offsetsJason Ekstrand2016-02-201-2/+2
| | | | shader->num_uniforms is in terms of bytes in i965.
* anv: Zero out the WSI array when initializing the instanceJason Ekstrand2016-02-201-0/+2
|
* anv: Get rid of GENX_FUNCJason Ekstrand2016-02-201-5/+7
| | | | It was a bad idea.
* anv: Switch over to the macros in genxmlJason Ekstrand2016-02-2013-275/+122
|
* anv/pipeline: Fix a typo in the pipeline layout codeJason Ekstrand2016-02-181-1/+1
|
* anv/allocator: Set is_winsys_bo to false for block pool BOsJason Ekstrand2016-02-181-0/+1
|
* vulkan: fix out-of-tree buildMark Janes2016-02-181-0/+1
| | | | | | We need to be able to find the generated gen*pack.h headers. Acked-by: Jason Ekstrand <[email protected]>
* anv/pipeline: Use nir's num_images for allocating image_paramsJason Ekstrand2016-02-182-4/+6
|
* anv/pipeline: Don't leak the binding mapJason Ekstrand2016-02-183-0/+8
|
* anv/formats: Don't use a compound literal to initialize a const arrayJason Ekstrand2016-02-181-2/+2
| | | | | Doing so makes older versions of GCC rather grumpy. Newere GCC fixes this, but using a compound literal isn't really gaining us anything anyway.
* Move the intel vulkan driver to src/intel/vulkanJason Ekstrand2016-02-1853-0/+23855