Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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 | ||||
* | iris: Configure the L3$ on the compute context | Jason Ekstrand | 2019-02-21 | 1 | -0/+24 |
| | |||||
* | iris: properly pin stencil buffers | Kenneth Graunke | 2019-02-21 | 1 | -3/+8 |
| | |||||
* | iris: Fix TCS/TES slot unification | Kenneth Graunke | 2019-02-21 | 1 | -2/+2 |
| | | | | | | TCS outputs, TES inputs...not TCS inputs Fixes some barrier tests | ||||
* | iris: more todo notes | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | |||||
* | iris: scissored and mirrored blits | Kenneth Graunke | 2019-02-21 | 1 | -10/+206 |
| |