Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | iris: only clip lower if there's something to clip against | Kenneth Graunke | 2019-02-21 | 1 | -1/+2 |
| | |||||
* | iris: fix sysval only binding tables | Kenneth Graunke | 2019-02-21 | 1 | -12/+24 |
| | |||||
* | iris: don't forget to upload CS consts | Kenneth Graunke | 2019-02-21 | 1 | -0/+3 |
| | |||||
* | iris: drop param stuffs | Kenneth Graunke | 2019-02-21 | 1 | -9/+0 |
| | |||||
* | iris: don't trip on param asserts | Kenneth Graunke | 2019-02-21 | 1 | -3/+7 |
| | | | | I'd rather not rewrite i965's compute system value handling right now :( | ||||
* | iris: don't support pull constants. | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | | | | | I don't think it matters, we won't have any params anyway, but let's be sure it doesn't try | ||||
* | iris: regather info so we get CLIP_DIST slots, not CLIP_VERTEX | Kenneth Graunke | 2019-02-21 | 1 | -0/+1 |
| | |||||
* | iris: enable push constants if we have sysvals but no uniforms | Kenneth Graunke | 2019-02-21 | 1 | -1/+1 |
| | |||||
* | iris: drop iris_setup_push_uniform_range | Kenneth Graunke | 2019-02-21 | 1 | -33/+0 |
| | | | | | | it doesn't do anything, we have no params. I guess I thought there would be some, but they all get dead code eliminated even if we try to make them exist in the first place. | ||||
* | iris: fix more uniform setup | Kenneth Graunke | 2019-02-21 | 1 | -1/+6 |
| | |||||
* | iris: fix num clip plane consts | Kenneth Graunke | 2019-02-21 | 1 | -3/+5 |
| | |||||
* | 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). |