summaryrefslogtreecommitdiffstats
path: root/src/intel/vulkan/genX_cmd_buffer.c
Commit message (Collapse)AuthorAgeFilesLines
* anv: Add a stub for CmdCopyQueryPoolResults on Ivy BridgeJason Ekstrand2016-07-131-0/+13
| | | | | Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
* isl: Change the physical size of a W-tile to 128x32Jason Ekstrand2016-07-131-6/+1
| | | | Reviewed-by: Chad Versace <chad.versace@intel.com>
* anv/dump: Add support for dumping framebuffersJason Ekstrand2016-07-091-0/+4
| | | | Reviewed-by: Chad Versace <chad.versace@intel.com>
* anv: Use different BOs for different scratch sizes and stagesJason Ekstrand2016-06-221-14/+1
| | | | | | | | | This solves a race condition where we can end up having different stages stomp on each other because they're all trying to scratch in the same BO but they have different views of its layout. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
* anv/cmd: Dirty descriptor sets when a new pipeline is boundJason Ekstrand2016-06-211-0/+6
| | | | | | | | | Ever since c2581a9375ea, the binding table layout has depended on the pipeline. This means that whenever we change pipelines we also need to re-emit binding tables for the new layout. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
* anv/cmd: Move emit_descriptor_pointers to genX_cmd_buffer.cJason Ekstrand2016-06-211-1/+42
| | | | | | | | It's tiny and fully generic so there's really no reason for it to be in a gen7-specific file. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
* anv/cmd: Move flush_descriptor_sets to anv_cmd_buffer.cJason Ekstrand2016-06-211-1/+1
| | | | | | | There's no good reason for recompiling it Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
* anv: Add proper support for depth clampingJason Ekstrand2016-06-201-2/+6
| | | | | | Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
* anv/cmd_buffer: Split emit_viewport in twoJason Ekstrand2016-06-201-1/+3
| | | | | | Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
* anv/cmd_buffer: Set depth/stencil extent based on the imageJason Ekstrand2016-06-201-5/+5
| | | | | | | | It used to be based on the framebuffer which isn't quite right. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Cc: "12.0" <mesa-stable@lists.freedesktop.org>
* i965: Store number of threads in brw_cs_prog_dataJordan Justen2016-06-011-2/+2
| | | | | | Cc: "12.0" <mesa-stable@lists.freedesktop.org> Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* anv: Emit DRAWING_RECTANGLE once at driver initializationJason Ekstrand2016-05-271-13/+0
| | | | | | | | | | Also, we don't actually need it for clipping because meta always colors inside the lines and, for all other operations, the user is required to set a scissor. Since DRAWING_RECTANGLE stalls the GPU, we want to emit it as little as possible. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* anv/cmd_buffer: Only emit PIPE_CONTROL on-demandJason Ekstrand2016-05-271-70/+93
| | | | | | | | | | | This is in contrast to emitting it directly in vkCmdPipelineBarrier. This has a couple of advantages. First, it means that no matter how many vkCmdPipelineBarrier calls the application strings together it gets one or two PIPE_CONTROLs. Second, it allow us to better track when we need to do stalls because we can flag when a flush has happened and we need a stall. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* anv/clear: Only clear the render area when doing subpass clearsJason Ekstrand2016-05-271-0/+1
| | | | | Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* anv: Move push constant allocation to the command bufferJason Ekstrand2016-05-271-9/+69
| | | | | | | | | | Instead of blasting it out as part of the pipeline, we put it in the command buffer and only blast it out when it's really needed. Since the PUSH_CONSTANT_ALLOC commands aren't pipelined, they immediately cause a stall which we would like to avoid. Signed-off-by: Jason Ekstrand <jason@jlekstrand.net> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com>
* Revert "HACK: Don't re-configure L3$ in render stages pre-BDW"Jordan Justen2016-05-171-11/+0
| | | | | | | This reverts commit 41af9b2e517dd0c17e519490ca915b96f6898390. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=94468 Reviewed-by: Jason Ekstrand <jason@jlekstrand.net>
* anv: Port L3 cache programming from i965Jordan Justen2016-05-171-1/+1
| | | | | Signed-off-by: Jordan Justen <jordan.l.justen@intel.com> Acked-by: Jason Ekstrand <jason@jlekstrand.net>
* anv/image: Add an aspects fieldJason Ekstrand2016-05-171-4/+3
| | | | | This makes several checks easier and allows us to avoid calling anv_format_for_vk_format in a number of cases.
* anv: s/anv_batch_emit_blk/anv_batch_emit/Jason Ekstrand2016-04-201-43/+43
| | | | Acked-by: Kristian Høgsberg <krh@bitplanet.net>
* anv/cmd_buffer: Use the new emit macro for quariesJason Ekstrand2016-04-201-24/+32
| | | | Acked-by: Kristian Høgsberg <krh@bitplanet.net>
* anv/cmd_buffer: Use the new emit macro for DRAWING_RECTANGLEJason Ekstrand2016-04-201-9/+10
| | | | Acked-by: Kristian Høgsberg <krh@bitplanet.net>
* anv/cmd_buffer: Use the new emit macro for compute shader dispatchJason Ekstrand2016-04-201-52/+64
| | | | Acked-by: Kristian Høgsberg <krh@bitplanet.net>
* anv/cmd_buffer: Use the new emit macro for 3DSTATE_CONSTANTJason Ekstrand2016-04-201-10/+11
| | | | Acked-by: Kristian Høgsberg <krh@bitplanet.net>
* anv/cmd_buffer: Use the new emit macro for DEPTH/STENCIL_BUFFERJason Ekstrand2016-04-201-34/+42
| | | | Acked-by: Kristian Høgsberg <krh@bitplanet.net>
* anv/cmd_buffer: Use the new emit macro for PIPE_CONTROL and STATE_BASE_ADDRESSJason Ekstrand2016-04-201-62/+76
| | | | Acked-by: Kristian Høgsberg <krh@bitplanet.net>
* anv/cmd_buffer: Use the new emit macro for 3DPRIMITIVE commandsJason Ekstrand2016-04-201-24/+28
| | | | Acked-by: Kristian Høgsberg <krh@bitplanet.net>
* anv/gen7: Fix command parser version test with indirect dispatchJordan Justen2016-03-281-1/+1
| | | | | Caught-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
* anv/gen7: DispatchIndirect requires cmd parser 5Jordan Justen2016-03-281-0/+26
| | | | Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
* anv/gen7: Add stall and flushes before switching pipelinesJordan Justen2016-03-121-0/+24
| | | | | | | This is a port of 18c76551ee425b981efefc61f663a7781df17882 from OpenGL to Vulkan. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
* anv: Add flush_pipeline_before_pipeline_selectJordan Justen2016-03-121-13/+22
| | | | | | | flush_pipeline_before_pipeline_select adds workarounds required before switching the pipeline. Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
* anv/genX: Add flush_pipeline_select_gpgpuJordan Justen2016-03-121-0/+27
| | | | Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
* HACK: Don't re-configure L3$ in render stages pre-BDWJason Ekstrand2016-03-121-0/+11
| | | | | | | This fixes a "regression" on Haswell and prior caused by merging the gen7 and gen8 flush_state functions. Haswell should still work just fine if you're on a 4.4 kernel, but we really should make it detect the command parser version and do something intelligent.
* anv/cmd_buffer: Pull the core of flush_state into genX_cmd_bufferJason Ekstrand2016-03-081-0/+176
|
* anv: Emit null render targetsJason Ekstrand2016-03-051-0/+30
| | | | v2 (Francisco Jerez): Add the state_offset to the surface state offset
* anv: Store prog data in pipeline cache streamKristian Høgsberg Kristensen2016-03-051-10/+10
| | | | | We have to keep it there for the cache to work, so let's not have an extra copy in struct anv_pipeline too.
* anv: Don't allow D16_UNORM to be combined with stencilJason Ekstrand2016-03-051-2/+3
| | | | | Among other things, this can cause the depth or stencil test to spurriously fail when the fragment shader uses discard.
* anv/hsw: Move query code to genX file for HaswellJordan Justen2016-03-051-0/+244
| | | | | | | | This fixes many CTS cases, but will require an update to the kernel command parser register whitelist. (The CS GPRs and TIMESTAMP registers need to be whitelisted.) Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
* hack to make dota 2 menus workKenneth Graunke2016-03-031-2/+2
|
* anv/gen7: Use predicated rendering for indirect computeJordan Justen2016-03-021-0/+45
| | | | | | | | | | For OpenGL, see commit 9a939ebb47a0d37a6b29e3dbb1b20bdc9538a721. Fixes: * dEQP-VK.compute.indirect_dispatch.upload_buffer.empty_command * dEQP-VK.compute.indirect_dispatch.gen_in_compute.empty_command Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
* anv: Save batch to local variable for indirect computeJordan Justen2016-03-021-5/+6
| | | | Signed-off-by: Jordan Justen <jordan.l.justen@intel.com>
* anv: Add in image->offset when setting up depth bufferKristian Høgsberg Kristensen2016-03-011-1/+1
| | | | | | Fix from Neil Roberts. https://bugs.freedesktop.org/show_bug.cgi?id=94348
* anv: Switch over to the macros in genxmlJason Ekstrand2016-02-201-16/+9
|
* Move the intel vulkan driver to src/intel/vulkanJason Ekstrand2016-02-181-0/+717