summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* iris: fix Z32_S8 depth samplingKenneth Graunke2019-02-211-4/+6
| | | | | | | We were accidentally using the ISL_FORMAT_R32_FLOAT_X8X24_TYPELESS format, which is NOT what we use. We just store R32_FLOAT depth. fixes Piglit's texwrap GL_ARB_depth_buffer_float
* iris: don't mark contains_draw = false when chaining batchesKenneth Graunke2019-02-211-1/+1
| | | | | | | | | chaining to a new batch reuses create_batch(), but we don't need to do the work of pinning BOs we inherit from a previous batch...when that is actually part of the same execbuf invocation. instead, just flag it when setting primary_batch_size = 0, in iris_batch_reset
* iris: vma_free bo->size, not bo_sizeKenneth Graunke2019-02-211-1/+1
| | | | | | | | | | | this is more obviously correct. I think the two end up being the same in practice, since this is in the alloc_from_cache case, and presumably bo from the bucket has bo->size == bucket->size, and bo_size also is bucket->size... still. better to do the obvious thing. brw_bufmgr already does it this way.
* iris: drop a bunch of pipe_sampler_state stuff we don't needKenneth Graunke2019-02-211-6/+4
|
* iris: just mark snapshots_landed from the CPUKenneth Graunke2019-02-211-16/+9
| | | | | | otherwise, get results may check q->map->snapshots_landed...before our commands to initialize it to false have actually executed...so it'd get some random garbage from the BO...
* iris: Enable ARB_shader_voteKenneth Graunke2019-02-211-0/+1
| | | | The easiest get out the vote campaign ever
* iris: magic number 36 -> #defineKenneth Graunke2019-02-212-6/+5
|
* iris: better query file commentKenneth Graunke2019-02-211-1/+2
|
* iris: early return properlyKenneth Graunke2019-02-211-0/+1
|
* iris: 36-bit overflow fixesKenneth Graunke2019-02-211-1/+1
|
* iris: Need to | 1 when asking for timestampsKenneth Graunke2019-02-211-1/+1
|
* iris: glGet timestamps, more correct timestampsKenneth Graunke2019-02-213-8/+48
|
* iris: ...and SO prims emitted queriesKenneth Graunke2019-02-211-7/+11
| | | | | | | looks like we have queries some fails still due to races between snapshots_written and start/end not being garbage...not sure what that's about
* iris: timestampsKenneth Graunke2019-02-211-1/+13
|
* iris: drop explicit pinningKenneth Graunke2019-02-211-2/+0
| | | | writes will already rw_bo or ro_bo that
* iris: primitives generated query supportKenneth Graunke2019-02-213-20/+41
|
* iris: pipeline statsKenneth Graunke2019-02-211-1/+86
|
* iris: play chicken with timer queries for nowKenneth Graunke2019-02-211-0/+1
| | | | | they have been crashy in the past and I don't want to risk tanking my laptop right before my XDC talk
* iris: gpr0 to boolKenneth Graunke2019-02-211-1/+29
| | | | I think OQ is basically working now.
* iris: fix random failures via CS stall...but why?Kenneth Graunke2019-02-211-0/+6
|
* iris: flush batch when asking for result via QBOKenneth Graunke2019-02-211-1/+8
|
* iris: results writeKenneth Graunke2019-02-213-2/+35
|
* iris: gen10+ workarounds and break fixKenneth Graunke2019-02-211-1/+12
|
* iris: initial query codeKenneth Graunke2019-02-213-11/+344
|
* iris: LRM/SRM/SDI hooksKenneth Graunke2019-02-212-0/+118
|
* iris: rw_bo for pipe controlsKenneth Graunke2019-02-211-1/+1
| | | | | this is used for WRITE IMMEDIATE... but maybe we don't want to for the workaround BO?
* iris: use 0 for TCS passthrough program string IDKenneth Graunke2019-02-211-1/+1
| | | | | | | | | the passthrough shader doesn't need a real program string ID - that's basically used for ARB programs indicating total program source code changes, or other pre-baked uniform changes, etc...none of which a passthrough shader has...so we don't need a unique identifier to distinguish them. We want to use a consistent value so we find existing passthrough shaders in the cache.
* iris: Add support for TCS passthroughCaio Marcelo de Oliveira Filho2019-02-213-23/+93
| | | | | | | | | | | | | If no TCS is provided, create a "passthrough" TCS that will take the default values set in the API as constants and pass to the TES, along with any other inputs it expects. The code to create the NIR shader is the same as in i965. Tested with ./piglit run -t 'tess' quick_shader r and fixed a dozen crashes from that list.
* iris: inherit the index buffer properlyKenneth Graunke2019-02-212-7/+15
|
* iris: delete bogus commentKenneth Graunke2019-02-211-1/+0
| | | | Caio asked what was wrong. There is nothing wrong. :)
* iris: properly re-pin stencil buffersKenneth Graunke2019-02-211-3/+8
|
* iris: fix context restore of 3DSTATE_CONSTANT rangesKenneth Graunke2019-02-211-1/+1
| | | | | | if clean we want to DO the pinning...not SKIP the pinning. thanks to Jordan Justen for catching this!
* iris: silence const warningKenneth Graunke2019-02-211-1/+1
| | | | | | | not sure why this is labeled const, I'm pretty sure we are taking the reference and owning this, so there's no particular reason we can't change it. it certainly seems to be working for non-compute. and, freedreno's ir3_shader.c seems to do this as well. still...gross :/
* iris: refactor program CSO stuffKenneth Graunke2019-02-212-25/+33
|
* iris: Fix uses of gl_TessLevel*Caio Marcelo de Oliveira Filho2019-02-211-0/+1
| | | | | | | | | The backend compiler expects the gl_TessLevel* variables to be mapped as inputs instead of system values. Use the new PIPE_CAP to get this behavior from GLSL compiler. Tested with: tests/spec/arb_tessellation_shader/execution/vs-tcs-tes-tessinner-tessouter-inputs-quads.shader_test
* iris: totally untested icelake supportKenneth Graunke2019-02-215-3/+57
|
* iris: initialize "don't suck" bits, as Ben likes to call themKenneth Graunke2019-02-211-0/+10
|
* iris: refactor LRIs in context setupKenneth Graunke2019-02-211-5/+13
| | | | we're going to have more of them, so reduce the boilerplate
* iris: enable ARB_enhanced_layoutsKenneth Graunke2019-02-211-0/+1
|
* iris: re-pin binding table contents if we didn't re-emit themKenneth Graunke2019-02-211-3/+12
| | | | fixes glsl-vs-loop and other regressions from multibinder.
* iris: move binder pinning outside the dirty == 0 checkKenneth Graunke2019-02-211-7/+7
| | | | | This might be a new batch with back to back non-dirty calls, if so we need to inherit the old binder...
* iris: fix memzone_for_address since multibinder changesChris Wilson2019-02-211-3/+3
|
* iris: update comments for multibinderKenneth Graunke2019-02-212-19/+14
|
* iris: fix SO offset writes for multiple streamsKenneth Graunke2019-02-211-5/+8
|
* iris: Support multiple binder BOs, update Surface State Base AddressKenneth Graunke2019-02-2111-138/+234
|
* iris: fix null FB and unbound tex surface state addressesKenneth Graunke2019-02-211-0/+4
|
* iris: set EXEC_OBJECT_CAPTURE on all driver internal buffersKenneth Graunke2019-02-211-0/+6
|
* iris: fix constant buffer 0 to be absoluteKenneth Graunke2019-02-211-0/+11
| | | | | thanks to Jason for catching this. Fixes some va64 tests. Surprisingly not much else, as apparently getting to UBO range 4 is uncommon!
* iris: don't unconditionally emit 3DSTATE_VF / 3DSTATE_VF_TOPOLOGYKenneth Graunke2019-02-213-2/+33
| | | | this was just laziness on my part
* iris: skip over whole function if dirty == 0Kenneth Graunke2019-02-211-24/+35
| | | | | kinda pointless in non-pathological cases, but does boost our score in the drawarrays case by 50%...