Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | anv: Set max_hs_threads/max_ds_threads | Kristian Høgsberg Kristensen | 2016-02-24 | 1 | -2/+2 |
| | |||||
* | anv: Allocate more push constant space. | Kenneth Graunke | 2016-02-24 | 1 | -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 Graunke | 2016-02-24 | 1 | -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 Graunke | 2016-02-24 | 3 | -9/+15 |
| | | | | Now we're emitting HS and DS packets as well. | ||||
* | anv: Emit 3DSTATE_URB_* via a loop. | Kenneth Graunke | 2016-02-24 | 3 | -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. | ||||
* | nir/spirv: Allow but warn for a few capabilities | Jason Ekstrand | 2016-02-23 | 1 | -1/+5 |
| | | | | | | Unfortunately, glslang gives us cull/clip distance and GS streams even if the shader doesn't use it whenever a shader is declared as version 450. This is a glslang bug, but we can easily enough ignore it for now. | ||||
* | anv/descriptor_set: Use the correct size for the descriptor pool | Jason Ekstrand | 2016-02-23 | 1 | -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. | ||||
* | nir/spirv: Add more capabilities | Jason Ekstrand | 2016-02-23 | 1 | -0/+9 |
| | |||||
* | anv/meta: Allocate descriptor pools on-the-fly | Jason Ekstrand | 2016-02-23 | 4 | -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 samplers | Jason Ekstrand | 2016-02-22 | 1 | -2/+11 |
| | |||||
* | intel/genxml: Update macro documentation | Jason Ekstrand | 2016-02-22 | 1 | -2/+2 |
| | |||||
* | anv/state: Replace a bunch of ANV_GEN with GEN_GEN | Jason Ekstrand | 2016-02-22 | 1 | -6/+6 |
| | |||||
* | anv/descriptor_set: Stop marking everything as having dynamic offsets | Jason Ekstrand | 2016-02-22 | 1 | -2/+4 |
| | |||||
* | anv: Implement descriptor pools | Kristian Høgsberg Kristensen | 2016-02-22 | 5 | -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 destroy | Kristian Høgsberg Kristensen | 2016-02-22 | 1 | -1/+5 |
| | |||||
* | vulkan: fix out-of-tree builds | Mark Janes | 2016-02-22 | 1 | -0/+1 |
| | |||||
* | intel/genxml: Add README | Kristian Høgsberg Kristensen | 2016-02-22 | 1 | -0/+60 |
| | | | | | | | I've had people ask about the design of the pack functions, for example, why aren't we using bitfields. I wrote up a bit of background on why and how we ended up with the current design and we might as well keep that with the code. | ||||
* | anv/meta_blit: Handle compressed textures in anv_CmdCopyImage | Nanley Chery | 2016-02-22 | 1 | -25/+37 |
| | | | | | | | As with anv_CmdCopyBufferToImage, compressed textures require special handling during copies. Reviewed-by: Kristian Høgsberg Kristensen <[email protected]> | ||||
* | nir/spirv: Add support for multisampled textures | Jason Ekstrand | 2016-02-21 | 1 | -12/+19 |
| | |||||
* | anv: Fix a typo in apply_dynamic_offsets | Jason Ekstrand | 2016-02-20 | 1 | -2/+2 |
| | | | | shader->num_uniforms is in terms of bytes in i965. | ||||
* | anv: Zero out the WSI array when initializing the instance | Jason Ekstrand | 2016-02-20 | 1 | -0/+2 |
| | |||||
* | isl: Stop including mesa/main/imports.h | Jason Ekstrand | 2016-02-20 | 2 | -1/+2 |
| | | | | It pulls in all sorts of stuff we don't want. | ||||
* | genxml: Add mote includes in the generated headers | Jason Ekstrand | 2016-02-20 | 1 | -0/+3 |
| | |||||
* | anv: Get rid of GENX_FUNC | Jason Ekstrand | 2016-02-20 | 2 | -63/+7 |
| | | | | It was a bad idea. | ||||
* | anv: Switch over to the macros in genxml | Jason Ekstrand | 2016-02-20 | 13 | -275/+122 |
| | |||||
* | intel/genxml: Add a couple of helper headers | Jason Ekstrand | 2016-02-20 | 2 | -0/+188 |
| | |||||
* | genxml: Stop using unicode in the pack generator | Jason Ekstrand | 2016-02-19 | 1 | -1/+1 |
| | | | | | This causes python problems and problems when people don't have a locale set properly in their shell. | ||||
* | anv: fix warning about unused width variable. | Dave Airlie | 2016-02-19 | 1 | -2/+1 |
| | | | | We don't use width outside the debug clause here. | ||||
* | anv/pipeline: Fix a typo in the pipeline layout code | Jason Ekstrand | 2016-02-18 | 1 | -1/+1 |
| | |||||
* | anv/allocator: Set is_winsys_bo to false for block pool BOs | Jason Ekstrand | 2016-02-18 | 1 | -0/+1 |
| | |||||
* | vulkan: fix out-of-tree build | Mark Janes | 2016-02-18 | 1 | -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_params | Jason Ekstrand | 2016-02-18 | 2 | -4/+6 |
| | |||||
* | nir/gather_info: Count textures and images | Jason Ekstrand | 2016-02-18 | 1 | -0/+17 |
| | |||||
* | anv/pipeline: Don't leak the binding map | Jason Ekstrand | 2016-02-18 | 3 | -0/+8 |
| | |||||
* | anv/formats: Don't use a compound literal to initialize a const array | Jason Ekstrand | 2016-02-18 | 1 | -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/vulkan | Jason Ekstrand | 2016-02-18 | 56 | -6/+5 |
| | |||||
* | Move isl to src/intel | Jason Ekstrand | 2016-02-18 | 27 | -6/+4 |
| | |||||
* | vulkan: Move XML and generator into src/intel/genxml | Jason Ekstrand | 2016-02-18 | 22 | -33/+82 |
| | |||||
* | anv/meta: Initialize blend state for the right attachment | Kristian Høgsberg Kristensen | 2016-02-18 | 1 | -10/+11 |
| | | | | | We were always initializing only RT 0. We need to initialize the RT we're creating the clear pipeline for. | ||||
* | anv/meta: Don't use the blit ds layout in resolve code | Kristian Høgsberg Kristensen | 2016-02-18 | 1 | -1/+1 |
| | |||||
* | Delete nir_lower_samplers.cpp | Jason Ekstrand | 2016-02-17 | 1 | -248/+0 |
| | | | | | Somehow, in one of the merges with mesa master, the old file must have been kept when nir_lower_samplers.cpp was moved to nir_lower_samplers.c. | ||||
* | anv: Gut anv_pipeline_layout | Jason Ekstrand | 2016-02-17 | 2 | -97/+13 |
| | | | | | Almost none of the data in anv_pipeline_layout is used anymore thanks to doing real layout in the pipeline itself. | ||||
* | anv: Build the real pipeline layout in the pipeline | Kristian Høgsberg Kristensen | 2016-02-17 | 6 | -118/+201 |
| | | | | | | | | | This gives us the chance to pack the binding table down to just what the shaders actually need. Some applications use very large descriptor sets and only ever use a handful of entries. Compacted binding tables should be much more efficient in this case. It comes at the down-side of having to re-emit binding tables every time we switch pipelines, but that's considered an acceptable cost. | ||||
* | nir/spirv: Add some more capabilities | Jason Ekstrand | 2016-02-17 | 1 | -2/+9 |
| | |||||
* | anv/pipeline: Delete out-of-bounds fragment shader outputs | Jason Ekstrand | 2016-02-17 | 1 | -0/+13 |
| | |||||
* | nir: Add a helper for getting the one function from a shader | Jason Ekstrand | 2016-02-17 | 1 | -0/+9 |
| | |||||
* | nir: Add a nir_foreach_variable_safe helper | Jason Ekstrand | 2016-02-17 | 1 | -0/+3 |
| | |||||
* | i965/nir: Do lower_io late for fragment shaders | Jason Ekstrand | 2016-02-17 | 3 | -2/+6 |
| | |||||
* | anv/gen7_pipeline: Set WriteDisable = true if we have no color attachments | Jason Ekstrand | 2016-02-17 | 1 | -5/+5 |
| | |||||
* | anv/gen8_pipeline: Default color attachments to WriteDisable = true | Jason Ekstrand | 2016-02-17 | 1 | -0/+7 |
| |