Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | iris: actually upload clip planes. | Kenneth Graunke | 2019-02-21 | 2 | -2/+15 |
| | |||||
* | iris: bypass params and do it ourselves | Kenneth Graunke | 2019-02-21 | 4 | -31/+78 |
| | | | | | the backend keeps dead code eliminating them all, so we can't do that, plus we don't want to because params[] is lame | ||||
* | iris: dodge backend UCP lowering | Kenneth Graunke | 2019-02-21 | 1 | -1/+7 |
| | |||||
* | iris: fix system value remapping | Kenneth Graunke | 2019-02-21 | 1 | -2/+12 |
| | |||||
* | iris: hook up key stuff for clip plane lowering | Kenneth Graunke | 2019-02-21 | 3 | -1/+15 |
| | |||||
* | iris: lower user clip planes | Kenneth Graunke | 2019-02-21 | 1 | -0/+8 |
| | |||||
* | iris: only bother with params if there are any... | Kenneth Graunke | 2019-02-21 | 2 | -36/+30 |
| | |||||
* | iris: fill out params array with built-ins, like clip planes | Kenneth Graunke | 2019-02-21 | 1 | -0/+71 |
| | |||||
* | iris: add param domain defines | Kenneth Graunke | 2019-02-21 | 2 | -0/+37 |
| | |||||
* | iris: drop unnecessary param[] setup from iris_setup_uniforms | Kenneth Graunke | 2019-02-21 | 1 | -10/+2 |
| | | | | the backend just considers these dead anyway | ||||
* | iris: Defer cbuf0 upload to draw time | Kenneth Graunke | 2019-02-21 | 2 | -29/+66 |
| | |||||
* | iris: Clone the NIR | Kenneth Graunke | 2019-02-21 | 1 | -6/+6 |
| | | | | | | The backend compiler used to do this for us, but after a rebase, it's now the driver's responsibility. This lets us alter it for say, clip vertex lowering, at the global level rather than the per-variant level. | ||||
* | iris: Print the batch name when decoding | Kenneth Graunke | 2019-02-21 | 3 | -3/+10 |
| | |||||
* | iris: partial set_query_active_state | Kenneth Graunke | 2019-02-21 | 3 | -3/+23 |
| | | | | | | used to avoid OQ during clears for example fixes occlusion_query_meta_no_fragments | ||||
* | iris: Fix multiple RTs with non-independent blending | Kenneth Graunke | 2019-02-21 | 1 | -11/+13 |
| | | | | rt[i] isn't filled out in this case, so we have to use rt[0] | ||||
* | iris: Fix TextureBarrier | Kenneth Graunke | 2019-02-21 | 1 | -2/+14 |
| | | | | | I don't know how I came up with the old one, this is now what i965 does Also we now do compute batches too | ||||
* | iris: Fix MSAA smooth points | Kenneth Graunke | 2019-02-21 | 1 | -2/+2 |
| | | | | Fixes bin/ext_framebuffer_multisample-point-smooth 2 -auto -fbo | ||||
* | iris: implement scratch space! | Kenneth Graunke | 2019-02-21 | 4 | -32/+111 |
| | | | | | | | we borrow the approach from anv rather than i965, as it works better with pre-baked state that needs to contain scratch BO addresses fixes a bunch of varying packing tests | ||||
* | iris: tidy more warnings | Kenneth Graunke | 2019-02-21 | 1 | -2/+0 |
| | |||||
* | iris: Enable msaa_map transfer helpers | Kenneth Graunke | 2019-02-21 | 1 | -1/+1 |
| | | | | | This does the downsampling for us. It'll use BLORP anyway because it uses blit(), and that uses BLORP. | ||||
* | iris: Actually create/destroy HW contexts | Kenneth Graunke | 2019-02-21 | 1 | -0/+8 |
| | | | | | | | | The intention is that render and compute use their own contexts, and each is PIPELINE_SELECT'd to the right pipeline. But we hadn't actually made them, so we got the fd-default context. Thanks to Chris Wilson for catching this! | ||||
* | iris: Don't leak the compute batch | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | |||||
* | iris: cross batch flushing | Kenneth Graunke | 2019-02-21 | 1 | -0/+10 |
| | |||||
* | iris: Cross-link iris_batches so they can potentially flush each other | Kenneth Graunke | 2019-02-21 | 4 | -4/+26 |
| | | | | | | This makes e.g. the render batch aware of the compute batch, so it can ask questions like "is this BO referenced by some other batch?" and do something about that. | ||||
* | iris: fix crash in sparse vertex array | Dave Airlie | 2019-02-21 | 1 | -1/+2 |
| | | | | this fixes crash in array-stride piglit. | ||||
* | iris: Use at least 1x1 size for null FB surface state. | Kenneth Graunke | 2019-02-21 | 1 | -1/+4 |
| | | | | | | Otherwise we get 0 - 1 = 0xffffffff and fail to pack SURFACE_STATE. Fixes some object namespace pollution gltexsubimage2d tests | ||||
* | iris: Drop B5G5R5X1 support | Kenneth Graunke | 2019-02-21 | 1 | -1/+0 |
| | | | | | This is oddly renderable but not supported for sampling, which is the opposite of other X formats. Just skip it and fall back to BGRA. | ||||
* | iris: Enable A8/A16_UNORM in an inefficient manner | Kenneth Graunke | 2019-02-21 | 1 | -6/+7 |
| | | | | | These are currently just use the 'A' hardware formats, rather than the faster 'R' formats. glBitmap handling needs these, it seems. :( | ||||
* | iris: Enable ARB_shader_stencil_export | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | |||||
* | iris: Disable a PIPE_CONTROL workaround on Icelake | Kenneth Graunke | 2019-02-21 | 1 | -1/+1 |
| | |||||
* | iris: Flag constants dirty on program changes | Kenneth Graunke | 2019-02-21 | 1 | -7/+6 |
| | | | | | | | | | | | 3DSTATE_CONSTANT_* looks at prog_data->ubo_ranges. We were getting saved by iris_set_constant_buffers() usually happening when changing programs (as they usually change uniforms too), but with the clear shader that doesn't use uniforms, we weren't getting one and were leaving push constants enabled, screwing things up. Also clean up a bit of a mess left by the hacks - we were missing bindings in the VS/FS/CS case, among other issues... | ||||
* | iris: allow binding a null vertex buffer | Kenneth Graunke | 2019-02-21 | 1 | -3/+7 |
| | | | | PBO upload apparently does this... | ||||
* | iris: fix overhead regression from "don't stomp each other's dirty bits" | Kenneth Graunke | 2019-02-21 | 1 | -1/+1 |
| | | | | | The change from dirty = 0ull to dirty &= ~NOT_MY_BITS broke the "nothing to do? skip it!" optimization. thanks to Chris for noticing this! | ||||
* | iris: delete dead code | Kenneth Graunke | 2019-02-21 | 1 | -27/+0 |
| | |||||
* | iris: Fix refcounting of grid surface | Kenneth Graunke | 2019-02-21 | 1 | -1/+1 |
| | |||||
* | iris/compute: Zero out the last grid size on indirect dispatches | Jason Ekstrand | 2019-02-21 | 1 | -0/+5 |
| | |||||
* | iris/compute: Don't increment the grid size offset | Jason Ekstrand | 2019-02-21 | 1 | -2/+0 |
| | | | | | | It may be in the dynamic state buffer but the fact that we have a resource takes care of that. We don't need to add in the address of the dynamic state buffer again. | ||||
* | iris: SO_DECL_LIST fix | Kenneth Graunke | 2019-02-21 | 1 | -0/+8 |
| | |||||
* | iris: Fall back to 1x1x1 null surface if no framebuffer supplied | Kenneth Graunke | 2019-02-21 | 1 | -0/+4 |
| | | | | | | | If the state tracker never gave us the framebuffer dimensions via a set_framebuffer_state() call, just fall back to the unbound texture null surface, which is 1x1x1. Otherwise we'd use a NULL resource (no pun intended). | ||||
* | iris: Fix off by one in scissoring, empty scissors, default scissors | Kenneth Graunke | 2019-02-21 | 1 | -2/+24 |
| | |||||
* | iris: Move snapshots_landed to the front. | Kenneth Graunke | 2019-02-21 | 1 | -1/+1 |
| | | | | | Transform feedback overflow queries need to write additional data, and it would be nice to have this field remain at a consistent offset. | ||||
* | iris: Clamp UBO and SSBO access to the actual BO size, for safety | Kenneth Graunke | 2019-02-21 | 1 | -2/+5 |
| | |||||
* | iris: Fix texture buffer / image buffer sizes. | Kenneth Graunke | 2019-02-21 | 3 | -26/+46 |
| | | | | Also fix image buffers with offsets. | ||||
* | iris: fix SF_CLIP_VIEWPORT array indexing with multiple VPs | Kenneth Graunke | 2019-02-21 | 1 | -1/+2 |
| | | | | fixes bunches of viewport stuffs | ||||
* | iris: flag CC_VIEWPORT when changing num viewports | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | | | | this also has a loop over num_viewports | ||||
* | iris: fix UBOs with bindings that have an offset | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | |||||
* | iris: try and avoid pointless compute submissions | Kenneth Graunke | 2019-02-21 | 1 | -1/+3 |
| | | | | | if apps don't use compute shaders, we don't even want to kick off the compute initialization batch | ||||
* | 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...) |