Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | iris: add conditional render support | Dave Airlie | 2019-02-21 | 5 | -3/+119 |
| | |||||
* | iris: drop key_size_for_cache | Kenneth Graunke | 2019-02-21 | 1 | -18/+0 |
| | | | | | | dead since my program cache API rework. we could still use it for one function, but it's so trivial to pass the size, that it's probably not worth the extra code | ||||
* | iris: iris add load register reg32/64 | Dave Airlie | 2019-02-21 | 2 | -0/+30 |
| | | | | These will be needed for broadwell and conditional render | ||||
* | iris: execute compute related query on compute batch. | Dave Airlie | 2019-02-21 | 1 | -6/+12 |
| | | | | This only happens for the compute invocations query. | ||||
* | iris: fix cube texture view | Dave Airlie | 2019-02-21 | 1 | -0/+4 |
| | |||||
* | iris: fix some SO overflow query bugs and tidy the code a bit | Kenneth Graunke | 2019-02-21 | 1 | -25/+33 |
| | |||||
* | iris: add initial transform feedback overflow query paths (V3) | Dave Airlie | 2019-02-21 | 1 | -2/+129 |
| | | | | | v2: fix cpu overflow calc v3: use a struct | ||||
* | iris: actually flush for storage images | Kenneth Graunke | 2019-02-21 | 3 | -0/+21 |
| | |||||
* | iris: add an extra BT assert from Chris Wilson | Kenneth Graunke | 2019-02-21 | 1 | -0/+2 |
| | |||||
* | iris: add assertions about binding table starts | Kenneth Graunke | 2019-02-21 | 1 | -4/+13 |
| | |||||
* | iris: drop pull constant binding table entry | Kenneth Graunke | 2019-02-21 | 1 | -4/+0 |
| | | | | nothing uses this | ||||
* | iris: Use program's num textures not the state tracker's bound | Kenneth Graunke | 2019-02-21 | 1 | -1/+1 |
| | | | | the state tracker might bind more textures than the program is using. | ||||
* | iris: Enable precompiles | Kenneth Graunke | 2019-02-21 | 4 | -27/+157 |
| | |||||
* | iris: rework program cache interface | Kenneth Graunke | 2019-02-21 | 3 | -154/+131 |
| | | | | | | | This exposes iris_upload_shader() without having to bind it, which will be useful for precompiles. It also lets us examine the old programs and flag dirty bits at a higher level, rather than cramming all that knowledge into the cache layer. | ||||
* | iris: Use wrappers for create_xs_state rather than a switch statement | Kenneth Graunke | 2019-02-21 | 1 | -46/+78 |
| | |||||
* | iris: fix comment location | Kenneth Graunke | 2019-02-21 | 1 | -5/+5 |
| | |||||
* | iris: export iris_upload_shader | Kenneth Graunke | 2019-02-21 | 2 | -1/+10 |
| | |||||
* | iris: fix prototype warning | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | |||||
* | iris: Re-pin even if nothing is dirty | Kenneth Graunke | 2019-02-21 | 1 | -5/+5 |
| | |||||
* | iris: Flush for history at various moments | Kenneth Graunke | 2019-02-21 | 3 | -14/+34 |
| | | | | | | | | | | When we blit, transfer, or copy_resource to a buffer, we need to flush to ensure any stale data for that buffer is invalidated in the caches. bind_history will inform us which caches need to be flushed. Also, for any push constant buffers, we need to flag those dirty so that we re-emit 3DSTATE_CONSTANT_*, causing the data to be re-pushed. | ||||
* | iris: add iris_flush_and_dirty_for_history | Kenneth Graunke | 2019-02-21 | 2 | -0/+45 |
| | |||||
* | iris: Track a binding history for buffer resources | Kenneth Graunke | 2019-02-21 | 3 | -3/+31 |
| | | | | | This will let us know what caches to flush / state to dirty when altering the contents of a buffer. | ||||
* | iris: drop long dead XXX comment | Kenneth Graunke | 2019-02-21 | 1 | -2/+0 |
| | |||||
* | iris: Do the 48-bit vertex buffer address invalidation workaround | Kenneth Graunke | 2019-02-21 | 3 | -8/+42 |
| | |||||
* | iris: Fix VIEWPORT/LAYER in stream output info | Kenneth Graunke | 2019-02-21 | 1 | -2/+34 |
| | | | | | Fixes glsl-1.50-transform-feedback-builtins and ext_transform_feedback-builtin-varyings gl_PointSize | ||||
* | iris: Fix buffer -> buffer copy_region | Kenneth Graunke | 2019-02-21 | 1 | -15/+30 |
| | | | | | | | Size can be too large for a surf, blorp_buffer_copy chops things up into segments we can actually handle Fixes map_buffer_range_test and copy_buffer_coherency | ||||
* | iris: Lie about indirects | Kenneth Graunke | 2019-02-21 | 1 | -4/+5 |
| | | | | fixes interpolateAt tests | ||||
* | iris: Enable ctx->Const.UseSTD430AsDefaultPacking | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | | | | hooray for obscurely named pipe caps with bizarre descriptions! | ||||
* | iris: update comment | Kenneth Graunke | 2019-02-21 | 1 | -1/+3 |
| | |||||
* | iris: RT flush for memorybarrier with texture bit | Kenneth Graunke | 2019-02-21 | 1 | -7/+1 |
| | | | | | PIXEL_BUFFER_BARRIER_BIT turns into PIPE_BARRIER_TEXTURE and it ought to trigger an RT flush, according to brw_memory_barrier | ||||
* | iris: PIPE_CONTROL workarounds for GPGPU mode | Kenneth Graunke | 2019-02-21 | 1 | -2/+1 |
| | |||||
* | iris: Put batches in an array | Kenneth Graunke | 2019-02-21 | 13 | -81/+77 |
| | | | | We keep re-making this array all over the place | ||||
* | iris: put render batch first in fence code | Kenneth Graunke | 2019-02-21 | 1 | -2/+2 |
| | | | | this shouldn't matter, but it will make the next refactor easier | ||||
* | iris: flush the compute batch too if border pool is redone | Kenneth Graunke | 2019-02-21 | 1 | -0/+2 |
| | |||||
* | iris: leave a TODO | Kenneth Graunke | 2019-02-21 | 1 | -0/+4 |
| | |||||
* | iris: Add fence support using drm_syncobj | Chris Wilson | 2019-02-21 | 5 | -36/+258 |
| | |||||
* | iris: Add wait fences to properly sync between render/compute | Kenneth Graunke | 2019-02-21 | 1 | -0/+2 |
| | | | | | | When flushing a batch due to a data dependency, we need to not only kick off the other batch's work, but stall our execution until it completes. Just wait on last_syncpt after flushing it. | ||||
* | iris: Hang on to the last batch's sync-point, so we can wait on it | Kenneth Graunke | 2019-02-21 | 2 | -0/+9 |
| | |||||
* | iris: Tag each submitted batch with a syncobj | Chris Wilson | 2019-02-21 | 6 | -0/+190 |
| | | | | | | (adjusted by Ken to make the signalling sync object immediately on batch reset, rather than batch finish time. this will work better with deferred flushes...) | ||||
* | iris: Drop vestiges of throttling code | Kenneth Graunke | 2019-02-21 | 2 | -12/+1 |
| | |||||
* | iris: Merge two walks of the exec_bos list | Chris Wilson | 2019-02-21 | 1 | -5/+2 |
| | |||||
* | iris: replace vestiges of fence fds with newer exec_fence API | Kenneth Graunke | 2019-02-21 | 2 | -34/+55 |
| | | | | patch by me and Chris Wilson | ||||
* | iris: Avoid synchronizing due to the workaround BO | Kenneth Graunke | 2019-02-21 | 1 | -0/+8 |
| | |||||
* | iris: Avoid cross-batch synchronization on read/reads | Kenneth Graunke | 2019-02-21 | 1 | -6/+21 |
| | | | | | This avoids flushing batches just because e.g. both are reading the same dynamic state streaming buffer, or shader assembly buffer. | ||||
* | iris: Combine iris_use_pinned_bo and add_exec_bo | Kenneth Graunke | 2019-02-21 | 1 | -35/+34 |
| | |||||
* | iris: Use iris_use_pinned_bo rather than add_exec_bo directly | Kenneth Graunke | 2019-02-21 | 1 | -1/+1 |
| | | | | less special this way | ||||
* | iris: Fix assigning the output handle for exporting for KMS | Chris Wilson | 2019-02-21 | 1 | -1/+2 |
| | | | | Fixes gbm_bo_get_handle() used for KMS in glamor. | ||||
* | iris: Tidy exporting the flink handle | Chris Wilson | 2019-02-21 | 1 | -9/+16 |
| | |||||
* | iris: Fix SLM | Kenneth Graunke | 2019-02-21 | 2 | -3/+2 |
| | | | | | Now that Jason has set up the L3 we can do this. Also, my assert was useless because we hadn't set up the field in the first place. Oops. | ||||
* | iris: Don't set constant read lengths at upload time | Jason Ekstrand | 2019-02-21 | 1 | -3/+0 |
| | | | | They're set in derived_data as part of store_cs_state |