Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | iris: fix SBA flushing by refactoring code | Kenneth Graunke | 2019-02-21 | 1 | -50/+25 |
| | |||||
* | iris: do PIPELINE_SELECT for render engine, add flushes, GLK hacks | Kenneth Graunke | 2019-02-21 | 1 | -6/+80 |
| | |||||
* | iris: hack to avoid memorybarriers out the wazoo | Kenneth Graunke | 2019-02-21 | 1 | -3/+7 |
| | | | | | | | | we don't want to emit piles of pipe controls to a compute batch if it isn't necessary... prevents double-batch-wraps in cs-op-selection-bool-bvec4-bvec4 (but it's still kinda a big ol' hack...) | ||||
* | iris: don't let render/compute contexts stomp each other's dirty bits | Kenneth Graunke | 2019-02-21 | 2 | -3/+10 |
| | | | | only clear what you process | ||||
* | iris: better dirty checking | Kenneth Graunke | 2019-02-21 | 2 | -52/+67 |
| | |||||
* | iris: rewrite grid surface handling | Kenneth Graunke | 2019-02-21 | 3 | -57/+73 |
| | | | | | | | now we only upload a new grid when it's actually changed, which saves us from having to emit a new binding table every time it changes. this also moves a bunch of non-gen-specific stuff out of iris_state.c | ||||
* | iris: XXX for compute state tracking :/ | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | | | | | Maybe we should just move dirty to batch, it would help with the reset stuff too | ||||
* | iris: fix whitespace | Kenneth Graunke | 2019-02-21 | 1 | -3/+3 |
| | |||||
* | iris: bail if SLM is needed | Kenneth Graunke | 2019-02-21 | 1 | -0/+3 |
| | |||||
* | iris: leave XXX about unnecessary binding table uploads | Kenneth Graunke | 2019-02-21 | 1 | -0/+2 |
| | |||||
* | iris: drop unnecessary #ifdefs | Kenneth Graunke | 2019-02-21 | 1 | -2/+0 |
| | |||||
* | iris: drop XXX that Jordan handled | Kenneth Graunke | 2019-02-21 | 1 | -2/+0 |
| | |||||
* | iris/compute: Support indirect compute dispatch | Jordan Justen | 2019-02-21 | 1 | -0/+21 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris/compute: Push subgroup-id | Jordan Justen | 2019-02-21 | 3 | -6/+37 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris/compute: Flush compute batch on memory-barriers | Jordan Justen | 2019-02-21 | 1 | -0/+1 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris/compute: Provide binding table entry for gl_NumWorkGroups | Jordan Justen | 2019-02-21 | 1 | -6/+53 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris/compute: Wait on compute batch when mapping | Jordan Justen | 2019-02-21 | 1 | -0/+5 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris/program: Don't try to push ubo ranges for compute | Jordan Justen | 2019-02-21 | 1 | -1/+2 |
| | | | | | | | | | | | | | | | | | | We only can push constants for compute shaders from one range. Gallium glsl-to-nir (src/mesa/state_tracker/st_glsl_to_nir.cpp) lowers all uniform accesses to a ubo. Unfortunately we also load the subgroup-id as a uniform in the compiler. Since we use the 1 push range for this subgroup-id, we then lose the ability to actually push the ubo with all the normal user uniform values. In other words, there is lots of room for performance improvement, but at least retrieving the uniforms as pull-constants is functional for now. Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris/compute: Get group counts from grid->grid | Jordan Justen | 2019-02-21 | 1 | -3/+3 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris/compute: Flush compute batches | Jordan Justen | 2019-02-21 | 1 | -0/+1 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris/compute: Add MEDIA_STATE_FLUSH following WALKER | Jordan Justen | 2019-02-21 | 1 | -0/+2 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris: Add iris_restore_compute_saved_bos | Jordan Justen | 2019-02-21 | 1 | -5/+54 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris: Add IRIS_DIRTY_CONSTANTS_CS | Jordan Justen | 2019-02-21 | 1 | -14/+15 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris/compute: Set mask bits on PIPELINE_SELECT | Jordan Justen | 2019-02-21 | 1 | -0/+3 |
| | | | | Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris: little bits of compute basics | Kenneth Graunke | 2019-02-21 | 9 | -7/+325 |
| | |||||
* | iris: drop XXX's about swizzling | Kenneth Graunke | 2019-02-21 | 1 | -4/+4 |
| | | | | pretty sure this is unnecessary on modern HW | ||||
* | iris: drop dead format //'s | Kenneth Graunke | 2019-02-21 | 1 | -56/+0 |
| | | | | these just aren't supported | ||||
* | iris: yes | Kenneth Graunke | 2019-02-21 | 1 | -1/+0 |
| | |||||
* | iris: initial compute caps | Kenneth Graunke | 2019-02-21 | 1 | -3/+62 |
| | | | | RET macro borrowed from freedreno | ||||
* | iris: Enable fb fetch | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | | | | needed for ES 3.2 | ||||
* | iris: advertise GL_ARB_shader_texture_image_samples | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | |||||
* | iris: Set num_uniforms in bytes | Jordan Justen | 2019-02-21 | 1 | -0/+6 |
| | | | | | | Ref: brw_nir_lower_uniforms, type_size_scalar_bytes Signed-off-by: Jordan Justen <[email protected]> | ||||
* | iris: move images next to textures in binding table | Kenneth Graunke | 2019-02-21 | 2 | -14/+12 |
| | |||||
* | iris: null for non-existent cbufs | Kenneth Graunke | 2019-02-21 | 3 | -26/+46 |
| | | | | prevents BTs from being shifted down incorrectly | ||||
* | iris: actually set image access | Kenneth Graunke | 2019-02-21 | 1 | -0/+2 |
| | |||||
* | iris: Don't lower image formats for write-only images | Jason Ekstrand | 2019-02-21 | 1 | -1/+3 |
| | |||||
* | iris: set image access correctly | Kenneth Graunke | 2019-02-21 | 2 | -12/+16 |
| | |||||
* | iris: bother with BTIs | Kenneth Graunke | 2019-02-21 | 2 | -4/+24 |
| | |||||
* | iris: implement set_shader_images hook | Kenneth Graunke | 2019-02-21 | 2 | -0/+91 |
| | |||||
* | iris: lower storage image derefs | Kenneth Graunke | 2019-02-21 | 1 | -0/+83 |
| | |||||
* | iris: set the binding table size | Kenneth Graunke | 2019-02-21 | 1 | -2/+2 |
| | | | | | | we weren't doing mark_surface_used on images (i965 does it while uploading the unnecessary image uniforms), so our binding tables were too small... | ||||
* | iris: X32_S8X24 :/ | Kenneth Graunke | 2019-02-21 | 1 | -5/+1 |
| | | | | | | | | This can happen when faking Z32_S8X24 and setting StencilSampling = true I guess we'll just turn it into S8_UINT... Fixes KHR-GL45.texture_swizzle.functional | ||||
* | iris: enable I/L formats | Kenneth Graunke | 2019-02-21 | 1 | -81/+67 |
| | |||||
* | iris: Use R/RG instead of I/L/A when sampling | Kenneth Graunke | 2019-02-21 | 1 | -0/+31 |
| | |||||
* | iris: rework format translation apis | Kenneth Graunke | 2019-02-21 | 5 | -53/+81 |
| | |||||
* | iris: Allow PIPE_CONTROL with Stall at Scoreboard and RT flush | Kenneth Graunke | 2019-02-21 | 1 | -1/+5 |
| | | | | It's nonsensical, but not illegal, and mandatory on Icelake | ||||
* | iris: add gen11 to genX_call | Kenneth Graunke | 2019-02-21 | 1 | -0/+3 |
| | |||||
* | iris: inline stage_from_pipe to avoid unused warnings | Kenneth Graunke | 2019-02-21 | 1 | -1/+1 |
| | |||||
* | iris: pipe to scs -> iris_pipe.h | Kenneth Graunke | 2019-02-21 | 2 | -17/+17 |
| | |||||
* | iris: force persample interp cap | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| |