iris: Add a new experimental Gallium driver for Intel Gen8+ GPUs
I believe it's finally time to merge my out-of-tree Iris driver into master. While it's not finished, we're up to nearly 800 patches, and so maintaining it out-of-tree is becoming a bit unruly...and it's in solid enough shape that it could benefit from being in-tree.
For now, Iris will build and install alongside i965 - with i965 remaining the default driver. Iris is still considered experimental.
More details below...
What is Iris?
The new "Iris" driver prototype is essentially our Mesa i965 driver reimagined and rebuilt from the ground up. Our main goal was to make the driver as efficient as possible, aiming for very low CPU overhead. We also decided to drop support for legacy hardware and outdated kernel drivers, freeing us up to design for the future without worrying about impacting the past. This let us ask, "if we were doing it all again...what would we want it to look like?"
While designing the new driver, we drew a lot of inspiration from our newer Vulkan driver, as well as a few other Gallium drivers.
Key Changes
-
All new state upload code is dramatically more efficient.
In CPU overhead microbenchmarks, Iris can issue on average 3 times as many draw calls per second as our i965 driver.
-
Supports only Broadwell and newer (Gen8+); drops support for the older Gen4-7.5 GPUs, as well as Braswell/Cherrytrail.
-
Updated memory management takes full advantage of modern PPGTT support, allocating VMA in userspace for greater control, and allowing us to pre-bake state containing addresses.
-
Requires a modern Linux kernel (v4.16+, could be v4.5 if needed).
-
Leverages Mesa's "Gallium" driver framework, allowing us to share more code and development effort with the rest of the community.
While many pieces are new, much of the driver remains the same. We continue using these components of our existing stack:
- The Mesa OpenGL API front-end
- The Mesa shader compiler (GLSL, SPIR-V, NIR, i965 Gen-assembly backend)
- The Intel Surface Layout (ISL) library
- The Intel Blit-on-Render-Pipe (BLORP) library
- The i965 auxiliary surface resolve tracker
- The i965 buffer manager (extended, but largely reused)
Q&A
Q: How do I build and use Iris?
Iris only supports the Meson and Android build systems (sorry, no Autotools or SCons support). To build Iris, use -Dgallium-drivers=iris when running Meson. -Ddri-drivers=i965 will also build i965.
i965 remains the default driver (assuming it's built). You can try out Iris on a per-application basis by setting an environment variable:
$ export MESA_LOADER_DRIVER_OVERRIDE=iris
Please note that Iris requires a modern kernel, such as 4.19+.
Q: Should I use Iris yet?
Iris is not considered stable or ready for production use - it's still very experimental. However, it is largely feature complete (a few less commonly-used features are missing), and is passing roughly 99% of the Piglit test suite and OpenGL CTS. We have not done extensive testing or benchmarking of games and applications yet.
If you're feeling adventurous, feel free to try it out and report issues at https://bugs.freedesktop.org/ under product Mesa and the Drivers/Gallium/Iris component. Or ask us on IRC (irc.freenode.net channel #intel-3d).
Q: Are there any known issues?
-
Currently, Glamor rendering, and shaders using gl_VertexID, may not work correctly. This will be fixed shortly after merging.
-
GPU reset support is poor - if it hangs, it will likely hang repeatedly until the kernel bans it. Chris Wilson and I are working on a solution for this.
-
There is a known kernel memory leak in some 4.18 kernels, which Iris can provoke. The fix has already been backported, but a few distros didn't pick it up before moving on to 4.19+. Please use the latest available kernel.
-
Performance is expected to be slower than i965 for the moment, in many cases, but this will improve in the days to come. There are still a number of stall avoidance paths which have not been hooked up yet, which can lead to the GPU idling. Fast clears support is missing, and end-to-end color compression is not working yet.
We expect it to be faster in the long run, and it already is in some particular cases. For one customer, Iris is 18% faster than i965. Your mileage may vary until the driver matures a bit more.
Q: What's with the commit history?
The commit history in this merge request is largely the actual non-idealized history for bringing up the driver, rather than the tidy patch series we're used to seeing. I decided that preserving the history mostly as-is might be of interest to other people who are considering bringing up a new driver, to see how I did it. Also, after a year of work, I wanted to be able to fairly attribute people's work, and squashing it would not have done that justice.
During development, I rebased the driver on master periodically. At the end, I went back and ensured that the driver would at least compile at each step, so that people can bisect across it without as many issues. I also squashed some obvious fixup commits. But it's largely still the original history.
Q: Who developed Iris?
According to git shortlog, the following people contributed patches to Iris which made it into the original MR:
- Kenneth Graunke (732)
- Jordan Justen (14)
- Dave Airlie (13)
- Chris Wilson (12)
- Rafael Antognolli (8)
- Jason Ekstrand (7)
- Caio Marcelo de Oliveira Filho (3)
- Andre Heider (2)
- Rhys Kidd (1)
- Sagar Ghuge (1)
- Tapani Pälli (1)
- Timur Kristóf (1)
This understates the work, however, as we've reused a lot of code from our existing drivers and infrastructure, so my thanks to the whole Intel Mesa team, and the entire Mesa community. Particular thanks to Dave Airlie, Ilia Mirkin, Marek Olšák, and Eric Anholt, and others for answering a lot of questions about Gallium.
In any list of acknowledgments, I am sure to have missed people; sorry for the omission, and thank you nonetheless!
Merge request reports
Activity
added iris label
Oh, in case it wasn't obvious: I don't think it is useful to review each patch like we normally would. Instead, it's probably best to simply review the build system and loader changes. There's certainly a number of improvements that can be made, but I'd prefer to do those as follow-up patches rather than re-spinning this series. :)
Having run iris on-and-off for a couple of months on KBL,
Acked-by: Rhys Kidd <rhyskidd@gmail.com>
Great stuff @kwg!
mentioned in merge request !284 (merged)
- Resolved by Kenneth Graunke
- Resolved by Kenneth Graunke
added 828 commits
-
64df8209...f9b2f10a - 36 commits from branch
mesa:master
- c662ceaa - iris: Initial commit of a new 'iris' driver for Intel Gen8+ GPUs.
- 1bb8f263 - iris: viewport state, sort of
- 5b9211ad - iris: port over batchbuffer updates
- 71268439 - iris: initial render state upload
- 0a3c38eb - iris: packing with valgrind.
- 6ebcb771 - iris: merge pack
- a27af976 - iris: initial gpu state, merges
- 9e7501af - iris: RASTER + SF + some CLIP, fix DIRTY vs. NEW
- 8d64bfad - iris: scissors
- 25a62b0a - iris: SF_CLIP_VIEWPORT
- dad626d8 - iris: Surfaces!
- 9f357586 - iris: sampler views
- 6dbffc05 - iris: stipples and vertex elements
- d477b434 - iris: framebuffers
- 63fb5338 - iris: don't segfault on !old_cso
- 15bbeea9 - iris: fix SF_CL length
- 14a8d1c7 - iris: a bit of depth
- b01adc09 - iris: some draw info, vbs, sample mask
- 861d9394 - iris: fix crash - CSO binding can be NULL (when destroying context)
- 9ebb2b1c - iris: COLOR_CALC_STATE
- abdd8678 - iris: sampler states
- c641bbbe - iris: emit 3DSTATE_SAMPLER_STATE_POINTERS
- 1b01de61 - iris: basic push constant alloc
- bae0a731 - iris: some program code
- 06c776cc - iris: linear resources
- 4a9e475a - iris: maps
- 98c441e5 - iris: shader debug log
- 4602b6d3 - iris: drop unused field
- 3dd6260c - iris: make an ice->render_batch field
- 419412d5 - iris: disable execbuf for now
- c5e718c0 - iris: delete iris_pipe.c, shuffle code around
- 244bbaf2 - iris: init the batch!
- 50bee6b6 - iris: fix/rework line stipple
- c41eaeda - iris: actually save VBs
- c1b6b05a - iris: msaa sample count packing problems
- 107eb26e - iris: fix prim type
- 7a404026 - iris: fix bogus index buffer reference
- 119af669 - iris: draw->restart_index is uninitialized if PR is not enabled
- 39cf19e5 - iris: parse INTEL_DEBUG
- 94343cef - iris: reworks, FS compile pieces
- 0ed9fcb6 - iris: import program cache code
- 6cc5bb92 - iris: do the FS...asserts because we don't lower uniforms yet
- 9859c592 - iris: lower io
- 891a81af - iris: make iris_batch target a particular ring
- 7acc4fc5 - iris: kill iris_new_batch
- 942d493f - iris: move MAX defines to iris_batch.h
- 89bb7c60 - iris: bit of SBA code
- 19fc15b7 - iris: flag SBA updates when instruction BO changes
- 8b748168 - iris: try and have an iris address
- aa91677f - iris: so, sba then.
- 36927452 - iris: reference VB BOs
- 94f76e99 - iris: VB addresses
- 667a1ad3 - iris: DEBUG=bat
- d3f5480e - iris: VB fixes
- cf9ec7d2 - iris: actually APPEND commands, not stomp over the top and never incr
- ed3ad247 - iris: actually flush the commands
- 0a2437d9 - iris: actually advance forward when emitting commands
- 333e0fd0 - iris: initialize dirty bits to ~0ull
- 81f1ea0f - iris: hack to stop crashing on samplers for now
- 71167b8b - iris: fix indentation
- efd5bda4 - iris: fix assert
- df57142f - iris: fix VBs
- 393afdb8 - iris: vertex packet fixes
- b1b5b30c - iris: fix VF instancing length so we don't get garbage in batch
- 1759222e - iris: 3DPRIMITIVE fields
- 078b9aab - iris: bind_state -> compute state
- f763666b - iris: scissor slots
- 56014235 - iris: some shader bits
- 6f8ac7d8 - iris: promote iris_program_cache_item to iris_compiled_shader
- 2130a7c0 - iris: actually save derived state
- 23196fb2 - iris: emit shader packets
- e6675e3c - iris: convert IRIS_DIRTY_* to #defines
- 64f1767b - iris: don't forget about TE
- 183f07c3 - iris: reorganize commands to match brw
- a17eadfc - iris: initial gpu state
- 22adc54b - iris: WM.
- 6d12b00d - iris: index buffer BO
- eb03a400 - iris: more comes from bits filled in
- da46095a - iris: drop const from prog data parameters
- 973d7f96 - iris: softpin some things
- 3f333f64 - iris: use vtbl to avoid multiple symbols, fix state base address
- e7c08935 - iris: fix SBA
- daf05138 - iris: move key pop to state module
- f994affa - iris: bits of WM key
- be5038e8 - iris: shuffle comments
- 47ce6f33 - iris: no NEW_SBA
- c3fc47f0 - iris: rewrite program cache to use u_upload_mgr
- b7043688 - iris: actually destroy the cache
- 1bbfd54f - iris: actually softpin at an address
- a4297240 - iris: actually set KSP offsets
- 960fcad1 - iris: URB configs.
- fccbe896 - iris: dummy constants
- ea1a527b - iris: blend state
- 135066b1 - iris: alpha testing in PSB
- bfe6c69c - iris: basic SBE code
- ff130343 - iris: warning fixes
- a4d8f599 - iris: fix silly unused batch with addr macro
- fa079d68 - iris: render targets!
- 85ea2ffb - iris: don't do samplers for disabled stages
- ccd8421f - iris: smaller blend state
- c8a66567 - iris: actually pin the instruction cache buffers
- cbd7af01 - iris: compctrl
- b5aa48e9 - iris: more sketchy SBE
- d47b8425 - iris: fix dmabuf retval comparisons
- 2bcd9358 - iris: more SF CL VPs
- 6be92f6a - iris: catastrophic state pointer mistake
- ef22ca84 - iris: fix extents
- 2d9fdb40 - iris: write DISABLES are not write ENABLES...whoops
- a0337630 - iris: sample mask...not 0.
- 4b97570d - iris: uniform bits...badly
- 904d7837 - iris: warn if execbuf fails
- 17c5629b - iris: NOOP pad batches correctly
- 61ed48da - iris: decode batches if they fail to submit
- 9dd27ae6 - iris: enable a few more formats
- dfc2637c - iris: set strides on transfers
- 0f4feb09 - iris: stop adding 9 to our varyings
- ce3b02d5 - iris: bufmgr updates.
- b152d1a4 - iris: some thinking about binding tables
- d78a19a6 - iris: Soft-pin the universe
- c1cd6692 - iris: fix icache memzone
- 959a9ccd - iris: dump gtt offset in dump_validation_list
- 52ec51d3 - iris: Also set SUPPORTS_48B? Not sure if necessary.
- 3c16eed5 - iris: more uploaders
- 49e9543d - iris: rewrite to use memzones and not relocs
- 0ff1dcda - iris: set EXEC_OBJECT_WRITE
- 3db82fc3 - iris: include p_defines.h in iris_bufmgr.h
- 439bf59d - iris: binders
- 5b533c3b - iris: hook up batch decoder
- bdfe38ff - iris: binder fixes
- 61f35e84 - iris: decoder fixes
- c302f4cb - iris: update vb BO handling now that we have softpin
- 9e20c9b9 - iris: validation dumping improvements
- 768f3047 - iris: canonicalize addresses.
- 56811bca - iris: delete more trash
- 5e0db49d - iris: allocate SURFACE_STATEs up front and stop streaming them
- 00e02479 - iris: same treatment for sampler views
- b8709f25 - iris: assemble SAMPLER_STATE table at bind time
- ec90fdb1 - iris: fix a scissor bug
- d5290fc4 - iris: SBA once at context creation, not per batch
- 52ccca35 - iris: TES stash
- b18f7220 - iris: isv freeing fixes
- e14b4ef6 - iris: set sampler views
- 27961212 - iris: decoder fixes
- ee80a6a1 - iris: better BT asserts
- 81232c43 - iris: increase allocator alignment
- d101f30e - iris: fix index
- 4f27e49b - iris: port bug fix from i965
- 6dc77c58 - iris: fixes from i965
- 1efd848a - iris: fixes
- e0d73256 - iris: crazy pipe control code
- ec4eccca - iris: bo reuse
- 3445e65f - iris: vma fixes - don't free binder address
- fb4c4bf4 - iris: vma - fix assert
- 7dd850dc - iris: better SBE
- 3bd6d7fb - iris: fix texturing!
- 6c6c0f67 - iris: Move get_command_space to iris_batch.c
- 681d9325 - iris: Defines for base addresses rather than numbers everywhere
- a380f7e6 - iris: pull in newer comments
- 8799725d - iris: copy over i965's cache tracking
- 36c7b042 - iris: move bo_offset_from_sba
- 7cb8a0a2 - iris: bits of blorp code
- ed7a754b - iris: more blitting code to make readpixels work
- a6e70e11 - iris: drop bogus binder free
- ba126d6f - iris: fix sampler view crashes
- c9edf7a0 - iris: more blorp
- c81418f6 - iris: fix blorp prog data crashes
- ef0980d6 - iris: add INTEL_DEBUG=reemit
- 55b2f045 - iris: drop the 48b printout, we never use anything else
- 5d16ff45 - iris: hacky flushing for now
- 54c088ad - iris: linear staging buffers - fast CPU access...
- 7728fb47 - iris: make blorp pin the binder
- 32495965 - iris: blorp URB
- 9360da77 - iris: no more drawing rectangle in blorp
- aaf95965 - iris: assert surf init
- 4de02e4b - iris: some depth stuff :(
- 79522ba3 - iris: bump GL version to 4.2
- b2c5a907 - iris: uniforms for VS
- 7af436d5 - iris: proper length for VE packet?
- 80886e3a - iris: proper # of uniforms
- 165eaaa5 - iris: properly reject formats, fixes RGB32 rendering with texture float
- 4098e98a - iris: blorp bug fixes
- 4ba14fe2 - iris: delete growing code and just die for now
- dcbae0ef - iris: just turn batch reset_and_clear_caches into reset
- 905fc0c4 - iris: chaining not growing
- f4405662 - iris: caps
- b6097508 - iris: fix batch chaining...
- a5c3ff5d - iris: fix decoding and undo testing code
- d97a2d6d - iris: Lower the max number of decoded VBO lines
- 6ef469d9 - iris: fix whitespace
- 87b091e0 - iris: fix 3DSTATE_VERTEX_ELEMENTS length
- c71fddf8 - iris: more depth stuffs...
- 13810b35 - iris: fix VF INSTANCING length
- f2138dab - iris: util_copy_framebuffer_state (ported from Rob's v3d patches)
- de59cb9a - iris: transfers
- 03f484f9 - iris: flush always
- b84de650 - iris: maybe slightly less boats uniforms
- ca74335e - iris: fix constant packet length to match i965
- 3288765a - iris: fix import from dri2/3
- 9ab984c1 - iris: better ubo handling
- 49230154 - iris: completely rewrite binder
- 4ae16a93 - iris: have more than one const_offset
- f0c19a14 - iris: make surface states for cbufs
- d3664aa9 - iris: fill out pull constant buffers
- 064dbc4b - iris: fix pull bufs that aren't the first user upload
- 29cc76a6 - iris: use u_transfer helpers for now
- 966c1654 - iris: IndexFormat = size/2
- 70cd748e - iris: better VFI
- efeb5519 - iris: fix release builds
- 8b2562b9 - iris: drop assert for now
- a0554ae3 - iris: disable __gen_validate_value in release mode
- b10e42ad - iris: allow mapped buffers during execution (faster)
- ba470b20 - iris: comment about reemitting and flushing
- 2ae086b4 - iris: state cleaning
- 321061a1 - iris: untested index buffer upload
- 710060b1 - iris: delete some pointless STATIC_ASSERTS
- 083fc5d6 - iris: untested SAMPLER_STATE pin BO fix
- 8992c035 - iris: put back the always flush - fixes some things :(
- 02cf5dd5 - iris: save pointers to streamed state resources
- 00dddfff - iris: fix the validation list on new batches
- 489b77de - iris: flag DIRTY_WM properly
- 83ff4511 - iris: bindings dirty tracking
- ef18407b - iris: some dirty fixes
- eaa2a1a4 - iris: clear dirty
- d0935479 - iris: plug leaks
- 0d102c98 - iris: more leak fixes
- 9075303a - iris: pc fixes
- 42fac7aa - iris: remove 4 bytes of padding in iris_compiled_shader
- 7ec20a79 - iris: rzalloc iris_compiled_shader so memcmp works even if padding creeps in
- dfd9df58 - iris: don't leak sampler state table resources
- 507d5e1b - iris: don't leak keyboxes when searching for an existing program
- ac60e3d7 - iris: indentation
- 93fa7dc7 - iris: use pipe resources not direct BOs
- a3f5f71d - iris: clean up some warnings so I can see through the noise
- 79757e70 - iris: print binder utilization in INTEL_DEBUG=submit
- ce11ce9a - iris: redo VB CSO a bit
- ec1a5007 - iris: print refcounts in INTEL_DEBUG=submit
- 49a6c44a - iris: support signed vertex buffer offsets
- 6c43a211 - iris: fix major refcounting bug with resources
- 56b79adf - iris: fix caps so tests run again
- 61338273 - iris: avoid crashing on unbound constant resources
- dd8300da - iris: emit 3DSTATE_SBE_SWIZ
- a997ba07 - iris: max VP index
- 37bd07e3 - iris: fix viewport counts and settings
- 5af0da49 - iris: fix num viewports to be based on programs
- fa37eb33 - iris: fix VP iteration
- ca162524 - iris: scissor count fixes
- d789f2ff - iris: actually init num_viewports
- 94f7dd27 - iris: print second batch size separately
- 6aba9117 - iris: don't always flush
- ed130c42 - iris: Handle batch submission failure "better"
- 58fcee7d - iris: bad inherited comments
- 372090dc - iris: colorize batchbuffer failures to make them stand out
- 049e077a - iris: iris - fix QWord aligned endings after batch chaining rework
- 63166e0a - iris: tidy comments about mirroring modes
- c31f6085 - iris: Disable unsupported mirror clamp modes
- cbae5709 - iris: fix fragcoord ytransform
- fde5eca6 - iris: better boxing on maps
- b149637a - iris: clears
- 89f979c7 - iris: rework DEBUG_REEMIT
- 57a6f330 - iris: shader dirty bits
- ec6fafe4 - iris: clear fix
- f0b4e80e - iris: fall back to u_generate_mipmap
- a53a8492 - iris: implement copy image
- b1ca1d34 - iris: lightmodel flat
- 0aa75f1a - iris: maybe-flush before blorp operations
- 31c05d99 - iris: fix provoking vertex ordering
- 4448b7b3 - iris: larger polygon offset
- 73634b6c - iris: TES uniform fixes
- b721f2e7 - iris: geometry shader support
- de5c0d93 - iris: don't emit garbage 3DSTATE_VERTEX_BUFFERS when there aren't any
- 63526d1e - iris: fix 3DSTATE_VERTEX_ELEMENTS / VF_INSTANCING for 0 elements
- 96965c14 - iris: fix GS dispatch mode
- 9010af85 - iris: depth clears
- 3424c6e5 - iris: null surface for unbound textures
- cca2199e - iris: state ref tuple
- 03d481b2 - iris: don't include binder in surface VMA range
- dbd4873c - iris: border color memory zone :(
- f627f273 - iris: implement border color, fix other sampler nonsense
- 5cff4dd9 - iris: dead pointer
- 91c80db4 - iris: just malloc one iris_genx_state instead of a bunch of oddball pieces
- dabe28bd - iris: SBE change stash
- e6511f7a - iris: fix zoffset asserts with 2DArray/Cube
- e6c8effd - iris: rename map->stride
- 1cee54d6 - iris: actually set cube bit properly
- 079396ce - iris: keep DISCARD_RANGE
- df5e92d6 - iris: actually handle array layers in blits
- a759963a - iris: comment out l/a/i/la
- 55717bd0 - iris: fix clip flagging on fb changes
- 0b5672fd - iris: fix depth bounds clamp enables
- 3c2a84f9 - iris: don't crash on shader perf logs
- 7eaaead7 - iris: slab allocate transfers
- d57db7c6 - iris: rearrange iris_resource.h
- b976f75c - iris: Implement 3DSTATE_SO_DECL_LIST
- 06e51270 - iris: SO buffers
- 4e0997fe - iris: streamout
- 54031cc3 - iris: set even if no outputs
- 953ebce7 - iris: bother setting program_string_id...
- dd31a225 - iris: fix SO_DECL_LIST
- 1ef20e12 - iris: actually pin the buffers
- e2cd7251 - iris: fix sample mask for MSAA-off
- 2ccf05b5 - iris: disable 6x MSAA support
- 2bd2e153 - iris: multislice transfer maps
- cdda0789 - iris: fix CC_VIEWPORT
- 1d449337 - iris: draw indirect support?
- c92e929f - iris: save query type
- e4dbe6a9 - iris: bits of multisample program key
- 596b5f3e - iris: s/hwcso/state/g
- b72bc19e - iris: bind state helper function
- c96705c2 - iris: NOS mechanics
- e5d47f82 - iris: record FS NOS
- 1fc0a1b0 - iris: fix crash
- 01d865da - iris: fix sampler views of TBOs
- ac6e0ea2 - iris: fix texture buffer stride
- bcd3f5c0 - iris: TES program key inputs
- 55465131 - iris: compile a TCS...don't bother with passthrough yet
- 3eb9403f - iris: don't emit SO_BUFFERS and SO_DECL_LIST unless streamout is enabled
- ac96cf09 - iris: vertex ID, instance ID
- a1310e9b - iris: fix SGVS when there are no valid vertex elements
- 115f99dc - iris: fill out MAX_PATCH_VERTICES
- 257e2f28 - iris: assert about passthrough shaders to make this easier to detect
- c8ad6980 - iris: fix EmitNoIndirect
- 017261cf - iris: fix Z24
- f30c1b93 - iris: reemit blend state for alpha test function changes
- 2dd46ce5 - iris: point sprite enables
- 4d00e208 - iris: hack around samples confusion
- da0f8121 - iris: fix blorp filters
- cb622b28 - iris: expose more things that we already support
- 2b3775cc - iris: fix msaa flipping filters
- ec644645 - iris: export get_shader_info
- 0f57430a - iris: implement set_shader_buffers
- 192a4577 - iris: emit binding table for atomic counters and SSBOs
- bfde465b - iris: shorten loop
- 79fc8163 - iris: unbind compiled shaders if none are present
- 09dcfe23 - iris: fix TBO alignment to match 965
- 6a156a41 - iris: enable SSBOs
- 25c2a828 - iris: fix SSBO indexing
- d39e4349 - iris: fix for disabling ssbos
- 75d251cf - iris: update bindings when changing programs
- 4809ff0c - iris: drop unused bo parameter
- 7c84516f - iris: implement texture/memory barriers
- 98727497 - iris: Don't reserve new binding table section unless things are dirty
- bf46f490 - iris: update a todo comment
- 985b83dd - iris: BIG OL' HACK for UBO updates
- 8ade2063 - iris: enable texture gather
- f242b9ed - iris: Avoid croaking when trying to create FBO surfaces with bad formats
- 7da57245 - iris: fix GS output component limit
- 0afe8da8 - iris: drop pipe_shader_state
- 3f50d93f - iris: fix sample mask
- 42b0defe - iris: cube arrays are cubes too
- 79793c98 - iris: we don't support textureGatherOffsets, need it lowered
- dd49275b - iris: Set resource modifier on handle
- 3fa28d63 - iris: fix some hangs around null framebuffers
- 65a22e40 - iris: add minor comments
- 3037a345 - iris: comment everything
- aed9a02f - iris: sync bugfixes from brw_bufmgr
- ec356ddf - iris: Wrap userptr for creating bo
- 672162bd - iris: remember to set bo->userptr
- 846fd5eb - iris: rename ring to engine
- c5354e23 - iris: simplify batch len qword alignment
- 4101ca2c - iris: get angry about execbuf failures
- 32ec5d98 - iris: fill out more caps
- 368c0322 - iris: depth or stencil fixes
- 2bfe89d0 - iris: clear stencil
- c05c6b78 - iris: actually emit stencil packets
- e08803d4 - iris: allow S8 as a stencil format
- 3d57e580 - iris: WTF transfers
- 3659f932 - iris: use u_transfer_helper for depth stencil packing/unpacking
- 4e4be63c - iris: drop stencil handling now that u_transfer_helper does it
- d6603204 - iris: refcounting, who needs it?
- 6c9d5a6f - iris: actually do stencil blits
- c668e572 - iris: say no to more formats
- 5296d0d1 - iris: deal with Marek's new MSAA caps
- ab20880f - iris: we can do multisample Z resolves
- 96aa1207 - iris: Convert RGBX to RGBA for rendering.
- 49dd276d - iris: disallow RGB32 formats too
- e036c46d - iris: Fix tiled memcpy for cubes...and for array slices
- 784c4f98 - iris: blorp blit multiple slices
- a0be4d6d - iris: assert depth is 1 in resource_copy_region
- cff2cd96 - iris: call maybe_flush for each blorp operation
- b7c4a260 - iris: implement ARB_clear_texture
- 0118acca - iris: last VUE map NOS, handle > 16 FS inputs
- 0bb653da - iris: drop dead assignments
- e7ced850 - iris: drop pwrite
- f3917e19 - iris: port non-bucket alignment bugfix
- cc3cff82 - iris: don't emit SBE all the time
- 46f6d384 - iris: rename pipe to base
- 78c79b40 - iris: Drop bogus sampler state saving
- 37dbaa7d - iris: move iris_shader_state from ice->shaders.state to ice->state.shaders
- 1e0e8552 - iris: Move things to iris_shader_state
- 779646aa - iris: Move iris_sampler_view declaration to iris_resource.h
- e091d49a - iris: track depth/stencil writes enabled
- 6b00a033 - iris: use consistent copyright formatting
- e534dac2 - iris: Move cache tracking to iris_resolve.c
- 75341719 - iris: proper cache tracking
- e268802c - iris: AMD_pinned_memory
- c223f8f0 - iris: precompute hashes for cache tracking
- da324b61 - iris: Reduce binder alignment from 64 to 32
- 46ad57d9 - iris: Record reusability of bo on construction
- e2fed749 - iris: reenable R32G32B32 texture buffers
- 7d7b8f01 - iris: z_res -> s_res
- 301712cd - iris: implement get_sample_position
- 3b1f545c - iris: fix line-aa-width
- a1913f99 - iris: try to hack around binder issue
- d898150b - iris: fix sampler state setting
- 95e75fd6 - iris: big old hack for tex-miplevel-selection
- 39295135 - iris: use linear for 1D textures
- bc6b8782 - iris: handle level/layer in direct maps
- 2da93b61 - iris: fix crash when binding optional shader for the first time
- 8bc28a8c - iris: Skip primitive ID overrides if the shader wrote a custom value
- e1e29f20 - iris: fix blend state memcpy
- 3c710149 - iris: new caps
- 60c9f198 - iris: use Eric's new caps helper
- ff799658 - iris: Allow inlining of require/get_command_space
- 4e3992ba - iris: skip over whole function if dirty == 0
- 1ca5a701 - iris: don't unconditionally emit 3DSTATE_VF / 3DSTATE_VF_TOPOLOGY
- aedcdf8f - iris: fix constant buffer 0 to be absolute
- f4817b6c - iris: set EXEC_OBJECT_CAPTURE on all driver internal buffers
- 71352513 - iris: fix null FB and unbound tex surface state addresses
- f737270c - iris: Support multiple binder BOs, update Surface State Base Address
- d97ec999 - iris: fix SO offset writes for multiple streams
- b43190fa - iris: update comments for multibinder
- cbdd7f84 - iris: fix memzone_for_address since multibinder changes
- f7d91936 - iris: move binder pinning outside the dirty == 0 check
- 626e40b3 - iris: re-pin binding table contents if we didn't re-emit them
- 48480f71 - iris: enable ARB_enhanced_layouts
- 2212fe13 - iris: refactor LRIs in context setup
- bed57664 - iris: initialize "don't suck" bits, as Ben likes to call them
- eaf24a7c - iris: totally untested icelake support
- bcc7260b - iris: Fix uses of gl_TessLevel*
- 72fa2b7c - iris: refactor program CSO stuff
- 81598f56 - iris: silence const warning
- 70304459 - iris: fix context restore of 3DSTATE_CONSTANT ranges
- a8d31b60 - iris: properly re-pin stencil buffers
- 55a89f92 - iris: delete bogus comment
- 2e7f4655 - iris: inherit the index buffer properly
- f1c80d4d - iris: Add support for TCS passthrough
- 863f5d17 - iris: use 0 for TCS passthrough program string ID
- 3d8eedb9 - iris: rw_bo for pipe controls
- 4035c12a - iris: LRM/SRM/SDI hooks
- 182a85b4 - iris: initial query code
- e5c0d764 - iris: gen10+ workarounds and break fix
- f51ccb6e - iris: results write
- 126f0a32 - iris: flush batch when asking for result via QBO
- 7172d21a - iris: fix random failures via CS stall...but why?
- d65b1fd0 - iris: gpr0 to bool
- e009a4fa - iris: play chicken with timer queries for now
- 35f1bc17 - iris: pipeline stats
- 0aebcabc - iris: primitives generated query support
- 5f4d1277 - iris: drop explicit pinning
- 8bbe1ffe - iris: timestamps
- 466e908b - iris: ...and SO prims emitted queries
- 50063a07 - iris: glGet timestamps, more correct timestamps
- aae7389d - iris: Need to | 1 when asking for timestamps
- 3b94eea8 - iris: 36-bit overflow fixes
- 1564ccbb - iris: early return properly
- 6bca5f19 - iris: better query file comment
- fa4cc9c4 - iris: magic number 36 -> #define
- ed911c1b - iris: Enable ARB_shader_vote
- 700fbd83 - iris: just mark snapshots_landed from the CPU
- 3d591fcd - iris: drop a bunch of pipe_sampler_state stuff we don't need
- 864ee386 - iris: vma_free bo->size, not bo_size
- f78120f9 - iris: don't mark contains_draw = false when chaining batches
- 72e2f200 - iris: fix Z32_S8 depth sampling
- e2954c1d - iris: stencil texturing
- 1e8d7729 - iris: force persample interp cap
- fa8a0c46 - iris: pipe to scs -> iris_pipe.h
- 81858da9 - iris: inline stage_from_pipe to avoid unused warnings
- 4e6f6ccf - iris: add gen11 to genX_call
- 7a24d245 - iris: Allow PIPE_CONTROL with Stall at Scoreboard and RT flush
- 6b192614 - iris: rework format translation apis
- b70fae0f - iris: Use R/RG instead of I/L/A when sampling
- 6e7d0626 - iris: enable I/L formats
- 477574e0 - iris: X32_S8X24 :/
- e86d5b2e - iris: set the binding table size
- ac7d3404 - iris: lower storage image derefs
- e6f56c0c - iris: implement set_shader_images hook
- d45851f2 - iris: bother with BTIs
- 030d0186 - iris: set image access correctly
- 73e1441b - iris: Don't lower image formats for write-only images
- 13496661 - iris: actually set image access
- d28b14f6 - iris: null for non-existent cbufs
- ef5f47e9 - iris: move images next to textures in binding table
- cf598750 - iris: Set num_uniforms in bytes
- ba0919a5 - iris: advertise GL_ARB_shader_texture_image_samples
- fa83d15c - iris: Enable fb fetch
- 2b1ee06d - iris: initial compute caps
- 4e40e3f8 - iris: yes
- 716278a9 - iris: drop dead format //'s
- 7fbaa687 - iris: drop XXX's about swizzling
- 9b37dd61 - iris: little bits of compute basics
- 50751fdb - iris/compute: Set mask bits on PIPELINE_SELECT
- 848594c3 - iris: Add IRIS_DIRTY_CONSTANTS_CS
- a7edcf56 - iris: Add iris_restore_compute_saved_bos
- 96618e9f - iris/compute: Add MEDIA_STATE_FLUSH following WALKER
- 5a2d4bbd - iris/compute: Flush compute batches
- a7513732 - iris/compute: Get group counts from grid->grid
- 963c42b3 - iris/program: Don't try to push ubo ranges for compute
- 231b2d87 - iris/compute: Wait on compute batch when mapping
- 62b1f873 - iris/compute: Provide binding table entry for gl_NumWorkGroups
- 4bc2fdca - iris/compute: Flush compute batch on memory-barriers
- 6051215d - iris/compute: Push subgroup-id
- a15f1caf - iris/compute: Support indirect compute dispatch
- 63f40818 - iris: drop XXX that Jordan handled
- 9ee1b0fd - iris: drop unnecessary #ifdefs
- 7f004fff - iris: leave XXX about unnecessary binding table uploads
- 6260067b - iris: bail if SLM is needed
- b9cf2dcb - iris: fix whitespace
- 3a9561c8 - iris: XXX for compute state tracking :/
- 69629ba7 - iris: rewrite grid surface handling
- 535cebdb - iris: better dirty checking
- eb0b616c - iris: don't let render/compute contexts stomp each other's dirty bits
- 00190a81 - iris: hack to avoid memorybarriers out the wazoo
- 629349c3 - iris: do PIPELINE_SELECT for render engine, add flushes, GLK hacks
- bfc2b530 - iris: fix SBA flushing by refactoring code
- d6defdcb - iris: try and avoid pointless compute submissions
- f1cb07ad - iris: fix UBOs with bindings that have an offset
- b9bc3ee7 - iris: flag CC_VIEWPORT when changing num viewports
- 6d6c7205 - iris: fix SF_CLIP_VIEWPORT array indexing with multiple VPs
- 2653ec40 - iris: Fix texture buffer / image buffer sizes.
- c0e884f7 - iris: Clamp UBO and SSBO access to the actual BO size, for safety
- b62798c9 - iris: Move snapshots_landed to the front.
- 6140c941 - iris: Fix off by one in scissoring, empty scissors, default scissors
- ee641f62 - iris: Fall back to 1x1x1 null surface if no framebuffer supplied
- ed837943 - iris: SO_DECL_LIST fix
- bfab1368 - iris/compute: Don't increment the grid size offset
- fafb0e0f - iris/compute: Zero out the last grid size on indirect dispatches
- a3fddfc1 - iris: Fix refcounting of grid surface
- 88586743 - iris: delete dead code
- 43e060bf - iris: fix overhead regression from "don't stomp each other's dirty bits"
- eae13897 - iris: allow binding a null vertex buffer
- d8e55316 - iris: Flag constants dirty on program changes
- 234b34fb - iris: Disable a PIPE_CONTROL workaround on Icelake
- f5287a03 - iris: Enable ARB_shader_stencil_export
- 2fe7e4ee - iris: Enable A8/A16_UNORM in an inefficient manner
- 4cdb65ad - iris: Drop B5G5R5X1 support
- efc931b8 - iris: Use at least 1x1 size for null FB surface state.
- 863e2cd2 - iris: fix crash in sparse vertex array
- dd7c0ba8 - iris: Cross-link iris_batches so they can potentially flush each other
- 6307e23a - iris: cross batch flushing
- dc3f56b1 - iris: Don't leak the compute batch
- e272ca85 - iris: Actually create/destroy HW contexts
- 0474d878 - iris: Enable msaa_map transfer helpers
- 26024f18 - iris: tidy more warnings
- 3eaba0b0 - iris: implement scratch space!
- be226927 - iris: Fix MSAA smooth points
- f52bfa84 - iris: Fix TextureBarrier
- a08faa8b - iris: Fix multiple RTs with non-independent blending
- 4af2e502 - iris: partial set_query_active_state
- 121fd8b3 - iris: Print the batch name when decoding
- 07ebe61d - iris: Clone the NIR
- 40bda6b3 - iris: Defer cbuf0 upload to draw time
- 50e97522 - iris: drop unnecessary param[] setup from iris_setup_uniforms
- 1298814e - iris: add param domain defines
- a5554a09 - iris: fill out params array with built-ins, like clip planes
- 5bc8b4f1 - iris: only bother with params if there are any...
- 5e63385e - iris: lower user clip planes
- 54a2110a - iris: hook up key stuff for clip plane lowering
- b33f6116 - iris: fix system value remapping
- b73b43dd - iris: dodge backend UCP lowering
- 52ad6425 - iris: bypass params and do it ourselves
- 483d900c - iris: actually upload clip planes.
- b9c1ef04 - iris: fix num clip plane consts
- 0f648032 - iris: fix more uniform setup
- d690ef56 - iris: drop iris_setup_push_uniform_range
- 2708e05d - iris: enable push constants if we have sysvals but no uniforms
- 8d5004d2 - iris: regather info so we get CLIP_DIST slots, not CLIP_VERTEX
- 348a9e53 - iris: don't support pull constants.
- f6196fdc - iris: don't trip on param asserts
- d8df0afa - iris: drop param stuffs
- 3addb620 - iris: don't forget to upload CS consts
- c7ddcf33 - iris: fix sysval only binding tables
- e29eb071 - iris: only clip lower if there's something to clip against
- d133899f - iris: leave another TODO
- d1afd6f3 - iris: Fix SourceAlphaBlendFactor
- 30b726ec - iris: "Fix" transfer maps of buffers
- 107f8d52 - iris: Fix independent alpha blending.
- a0cb9561 - iris: more TODO
- cdb34be1 - iris: scissored and mirrored blits
- b104dd4c - iris: more todo notes
- 235e1caf - iris: Fix TCS/TES slot unification
- 91599545 - iris: properly pin stencil buffers
- 48a9de82 - iris: Configure the L3$ on the compute context
- 1ce12f50 - iris: Don't set constant read lengths at upload time
- 2579fbb0 - iris: Fix SLM
- 1d20bd59 - iris: Tidy exporting the flink handle
- 8456f1db - iris: Fix assigning the output handle for exporting for KMS
- 44a90f7f - iris: Use iris_use_pinned_bo rather than add_exec_bo directly
- bc4af33b - iris: Combine iris_use_pinned_bo and add_exec_bo
- 62992ddc - iris: Avoid cross-batch synchronization on read/reads
- e95159cf - iris: Avoid synchronizing due to the workaround BO
- 293a7b04 - iris: replace vestiges of fence fds with newer exec_fence API
- b4f84c44 - iris: Merge two walks of the exec_bos list
- 6d43d177 - iris: Drop vestiges of throttling code
- f6ef1aff - iris: Tag each submitted batch with a syncobj
- f5a0f55d - iris: Hang on to the last batch's sync-point, so we can wait on it
- eea332e7 - iris: Add wait fences to properly sync between render/compute
- d3e30ffa - iris: Add fence support using drm_syncobj
- 851e3947 - iris: leave a TODO
- 40316ea8 - iris: flush the compute batch too if border pool is redone
- b1e91b89 - iris: put render batch first in fence code
- c190fb1b - iris: Put batches in an array
- 43acfd5d - iris: PIPE_CONTROL workarounds for GPGPU mode
- 9c827f3f - iris: RT flush for memorybarrier with texture bit
- f1a01c2e - iris: update comment
- 7d8d3c1b - iris: Enable ctx->Const.UseSTD430AsDefaultPacking
- b8899224 - iris: Lie about indirects
- 0289b31e - iris: Fix buffer -> buffer copy_region
- 023c1e84 - iris: Fix VIEWPORT/LAYER in stream output info
- df941cf3 - iris: Do the 48-bit vertex buffer address invalidation workaround
- ee253727 - iris: drop long dead XXX comment
- c8792934 - iris: Track a binding history for buffer resources
- 5f9e253b - iris: add iris_flush_and_dirty_for_history
- aead0421 - iris: Flush for history at various moments
- 1311051c - iris: Re-pin even if nothing is dirty
- fc7af54d - iris: fix prototype warning
- c5e7674a - iris: export iris_upload_shader
- ad813a1e - iris: fix comment location
- 1f207545 - iris: Use wrappers for create_xs_state rather than a switch statement
- 8aa71e8a - iris: rework program cache interface
- d1086f00 - iris: Enable precompiles
- ef50cf9f - iris: Use program's num textures not the state tracker's bound
- 67f48456 - iris: drop pull constant binding table entry
- abbeb567 - iris: add assertions about binding table starts
- c4505402 - iris: add an extra BT assert from Chris Wilson
- 4f4229c4 - iris: actually flush for storage images
- 1669a8d1 - iris: add initial transform feedback overflow query paths (V3)
- 1a60a385 - iris: fix some SO overflow query bugs and tidy the code a bit
- cfcb3db0 - iris: fix cube texture view
- 39892998 - iris: execute compute related query on compute batch.
- bed247e0 - iris: iris add load register reg32/64
- fd41b8e4 - iris: drop key_size_for_cache
- a7c61ca6 - iris: add conditional render support
- 083aba9d - iris: for BLORP, only use the predicate enable bit when USE_BIT
- 51c19703 - iris: check query first
- c273b6f0 - iris: fix conditional compute, don't stomp predicate for pipelined queries
- 9667655d - iris: Rework tiling/modifiers handling
- b2bc0020 - iris: Fix failed to compile TCS message
- 496b492d - iris: Destroy transfer helper on screen teardown
- 3834a76c - iris: Destroy the border color pool
- 28097b7f - iris: Unref unbound_tex resource
- 0e586824 - iris: Fix IRIS_MEMZONE_COUNT to exclude the border color pool
- 1e757a37 - iris: Destroy the bufmgr
- dc2b7401 - iris: Stop leaking iris_uncompiled_shaders like mad
- 896da3fe - iris: move some non-buffer case code in a bit
- 5aab16ef - iris: Don't bother considering if the underlying surface is a cube
- 2b87b07d - iris: Allocate buffer resources separately
- 8938a47e - iris: fix alpha channel for RGB BC1 formats
- 0e06ae53 - iris: fix dma buf import strides
- edf4d65f - iris: CS stall for stream out -> VB
- 7a9a1a2d - iris: make clipper statistics dynamic
- 20e7bc62 - iris: reject all clipping when we can't use streamout render disabled
- 19fc24c8 - iris: omask can kill
- 54082d7e - iris: reemit SBE when sprite coord origin changes
- 5b98365d - iris: re-pin inherited streamout buffers
- 66c23000 - iris: Fix NOS mechanism
- bbec4ae1 - iris: fix overhead regression from flushing for storage images
- bf29f9e3 - iris: fix set_sampler_views to not unbind, be better about bounds
- b19fb210 - iris: Fix set_sampler_views with start > 0
- 21dc81e7 - iris: Replace num_textures etc with a bitmask we can scan
- d008efea - iris: Drop continues in resolve
- 189fe56c - iris: Fix clear dimensions
- 89e19c3e - iris: Clamp viewport extents to the framebuffer dimensions
- c89efec1 - iris: Enable guardband clipping
- 6d6c0e2a - iris: Fix primitive generated query active flag
- e277818e - iris: Always do rasterizer discard in clipper
- 5f1823ae - iris: override alpha to one src1 blend factors
- ba3859f8 - iris: add Android build
- 33a0ecdb - iris: handle PatchVerticesIn as a system value.
- ad2a661a - iris: rewrite set_vertex_buffer and VB handling
- 126cc49a - iris: Reorder LRR parameters to have dst first.
- b0e412b6 - iris: Add _MI_ALU helpers that don't paste
- bdca2420 - iris: Don't bother packing 3DSTATE_SO_BUFFER at create time
- f69dfc09 - iris: Move iris_stream_output_target def to iris_context.h
- 109a71a5 - iris: only get space for one offset in stream output targets
- d5bd58d7 - iris: Copy anv's MI_MATH helpers for multiplication and division
- 41daed7f - iris: Implement DrawTransformFeedback()
- e55ea6b3 - iris: drop unnecessary genx->streamout field
- 75b49d3c - iris: Fix for PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET
- d0d90e29 - iris: Fix the prototype for iris_bo_alloc_tiled
- 2dc72dd3 - iris: don't print the pointer in INTEL_DEBUG=submit
- 3559e0ca - iris: Use a surface state fill helper
- e7a4db3a - iris: Make a alloc_surface_state helper
- a2bf24e7 - iris: whitespace fixes
- cc55b70c - iris: Track blend enables, save outbound for resolve code
- cfa50118 - iris: always pin the binder...in the compute context, too.
- b3a30add - iris: delete finished comments
- 1192b023 - iris: pin and re-pin the scratch BO
- 9bc3f859 - iris: more dead comments
- 36f5c7c1 - iris: only mark depth/stencil as writable if writes are actually enabled
- 8c6c9bdc - iris: fix gpu calcs for timestamp queries
- 4bedfeb8 - iris: better MOCS
- feaa3179 - iris: Fix scratch space allocation on Icelake.
- 273cd944 - iris: Fix assertion in iris_resource_from_handle() tiling usage
- 121da4c9 - iris: Only resolve inputs for actual shader stages
- e26d3cf3 - iris: Add a more long term TODO about timebase scaling
- 006e06a2 - iris: Fix compute scratch pinning
- bfdd99e6 - iris: Delete bogus comment about cube array counting.
- 179ec889 - iris/WIP: add broadwell support
- 5acfe0de - iris: limit gen8 to 8 samples
- 7de08816 - iris: setup gen8 caps
- 8f29dc23 - iris: add fs invocations query workaround for broadwell
- b87dc23c - iris: handle qbo fragment shader invocation workaround
- f249693e - iris: Fix framebuffer layer count
- aed5c225 - iris: Don't enable push constants just because there are system values
- 89275f79 - iris: Don't make duplicate system values
- ad0c957c - iris: Fill out brw_image_params for storage images on Broadwell
- af1b6f59 - iris: Fix surface states for Gen8 lowered-to-untype images
- 4ae62f9b - iris: Leave a comment about why Broadwell images are broken
- 88e7d0b1 - iris: Implement multi-slice copy_region
- eeda59b2 - iris: Flush the render cache in flush_and_dirty_for_history
- 1f0c3d63 - iris: Handle PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE somewhat
- 8d8c1dbc - iris: Don't check other batches for our batch BO
- 3e87b005 - iris: Drop a dead comment
- da931e46 - iris: Delete genx->bound_vertex_buffers
- 36800d54 - iris: Fix Broadwell WaDividePSInvocationCountBy4
- 05f72c76 - iris: Use new PIPE_STAT_QUERY enums rather than hardcoded numbers.
- 720c9c5d - iris: Switch to the new PIPELINE_STATISTICS_QUERY_SINGLE capability
- 0daae7c3 - iris: fail to create screen for older unsupported HW
- ef9ce5d4 - iris: Allow sample mask of 0
- 2f2bde0d - iris: Don't enable smooth points when point sprites are enabled
- 4498191a - iris: Assert about blits with color masking
- 4c51d0ca - iris: Pay attention to blit masks
- c67cbe51 - iris: CS stall on VF cache invalidate workarounds
- bf74ac03 - iris: Fix SO issue with INTEL_DEBUG=reemit, set fewer bits
- fff580c0 - iris: Don't whack SO dirty bits when finishing a BLORP op
- e30567b7 - iris: Fix memzone_for_address for the surface and binder zones
- 5802089a - iris: Do binder address allocations per-context, not globally.
- 8494a301 - iris: always include an extra constbuf0 if using UBOs
- a59c2311 - iris: Zero the compute predicate when changing the render condition
- dafacd83 - iris: Remap stream output indexes back to VARYING_SLOT_*.
- 7605d7b3 - iris: Enable PIPE_CAP_COMPACT_ARRAYS
- c7924cf5 - iris: Drop comment about ISP_DIS
- da28f167 - iris: Drop dead state_size hash table
- ee72b681 - iris: Unreference some more things on state module teardown
- fc84ec0e - iris: minor tidying
- 1564a89e - iris: Fix bug in bound vertex buffer tracking
- 79053610 - iris: Implement ALT mode for ARB_{vertex,fragment}_shader
- 70086fe3 - iris: Don't allocate a BO per query object
- 018444ef - iris: Add a timeout_nsec parameter, rename check_syncpt to wait_syncpt
- 80a84b5a - iris: Fix accidental busy-looping in query waits
- fe84411d - iris: Use READ_ONCE and WRITE_ONCE for snapshots_landed
- e2c3eb1f - iris: Make a iris_batch_reference_signal_syncpt helper function.
- 9d8b3500 - iris: Add PIPE_CAP_MAX_VARYINGS
- 2b9f0e5f - iris: rework num textures to util_lastbit
- bf81ce11 - iris: Stop chopping off the first nine characters of the renderer string
- ac8bcc3e - iris: fix build with gallium nine
- 33ee4fb9 - iris: improve PIPE_CAP_VIDEO_MEMORY bogus value
- 96544bec - iris: Drop XXX about alpha testing
- f7498e3e - iris: Set 3DSTATE_WM::ForceThreadDispatchEnable
- 5a1837e9 - iris: Set HasWriteableRT correctly
- 42910a26 - iris: Drop XXX about checking for swizzling
- 9bea5594 - iris: implement clearing render target and depth stencil
- 02685fd0 - iris: Move create and bind driver hooks to the end of iris_program.c
- 33c66f5b - iris: Store internal_format when getting resource from handle.
- db6a9296 - iris: Make an IRIS_MAX_MIPLEVELS define
- 2240a5d4 - iris: Simplify iris_get_depth_stencil_resources
- 34af8da9 - iris: Add missing depth cache flushes
- fed1f85d - iris: Always emit at least one BLEND_STATE
- abd70faf - iris: Emit default L3 config for the render pipeline
- 4d259db4 - iris: Add iris_resource fields for aux surfaces
- 2113664d - iris: Fill out res->aux.possible_usages
- 738574b1 - iris: Fill out SURFACE_STATE entries for each possible aux usage
- 50debb0f - iris: create aux surface if needed
- 0921967d - iris: Initial import of resolve code
- 233b4c48 - iris: blorp using resolve hooks
- 7a5ab710 - iris: add some draw resolve hooks
- efbd2f23 - iris: actually use the multiple surf states for aux modes
- 99b7691e - iris: try to fix copyimage vs copybuffers
- 17736c18 - iris: be sure to skip buffers in resolve code
- b2c04eef - iris: resolve before transfer maps
- 5ff13ead - iris: pin the buffers
- 39b1a7b5 - iris: store modifier info in res
- bc1c1c63 - iris: Make blit code use actual aux usages
- 492085e3 - iris: consider framebuffer parameter for aux usages
- 5167f08f - iris: Resolves for compute
- ceaf5506 - iris: disable aux for external things
- 7b7d8ed7 - iris: some initial HiZ bits
- bd5e3c0e - iris: don't use hiz for MSAA buffers
- 420f10b3 - iris: Set program key fields for MCS
- 3865fa5c - iris: Skip msaa16 on gen < 9.
- 12d01ca7 - iris: make surface states for CCS_D too
- 1f63d948 - iris: do flush for buffers still
- 947ef6d1 - iris: Allow disabling aux via INTEL_DEBUG options
- ab84619e - iris: Flush before hiz_exec.
- dddc6f40 - iris: Pin HiZ buffers when rendering.
- f7ef368a - iris: Fix aux usage in render resolve code
- 3ef1236b - iris: Only resolve compute resources for compute shaders
- 17ccc4da - iris: Avoid leaking if we fail to allocate the aux buffer.
- 2e712038 - iris/clear: Pass on render_condition_enabled.
- a1bab8f3 - iris: Skip resolve if there's no context.
- f11d3ba2 - iris: Flag ALL_DIRTY_BINDINGS on aux state change.
- 256070ce - iris: Enable auxiliary buffer support
Toggle commit list-
64df8209...f9b2f10a - 36 commits from branch
added 798 commits
-
256070ce...eac822ea - 6 commits from branch
mesa:master
- 2dce0e94 - iris: Initial commit of a new 'iris' driver for Intel Gen8+ GPUs.
- 14ca3050 - iris: viewport state, sort of
- 26fb5a8a - iris: port over batchbuffer updates
- d3d6ef37 - iris: initial render state upload
- aee39df7 - iris: packing with valgrind.
- a13d417a - iris: merge pack
- 02f583b0 - iris: initial gpu state, merges
- 7c875dea - iris: RASTER + SF + some CLIP, fix DIRTY vs. NEW
- 970836c3 - iris: scissors
- 4ec5f8be - iris: SF_CLIP_VIEWPORT
- 831d630b - iris: Surfaces!
- d0aab78d - iris: sampler views
- e7c9bddd - iris: stipples and vertex elements
- 3eadb1b3 - iris: framebuffers
- c1c6c3a1 - iris: don't segfault on !old_cso
- 7abe5aef - iris: fix SF_CL length
- d6ad9f47 - iris: a bit of depth
- efea4d96 - iris: some draw info, vbs, sample mask
- 9367c446 - iris: fix crash - CSO binding can be NULL (when destroying context)
- 60208d12 - iris: COLOR_CALC_STATE
- 7b80f458 - iris: sampler states
- 21c016b4 - iris: emit 3DSTATE_SAMPLER_STATE_POINTERS
- d48dc416 - iris: basic push constant alloc
- c820f5a4 - iris: some program code
- 49896861 - iris: linear resources
- 6c7a2764 - iris: maps
- 8097dc9d - iris: shader debug log
- ffd7f13b - iris: drop unused field
- 86e0c08b - iris: make an ice->render_batch field
- 455e2d6d - iris: disable execbuf for now
- 9ca58ca5 - iris: delete iris_pipe.c, shuffle code around
- 231935ef - iris: init the batch!
- ed6ee3e2 - iris: fix/rework line stipple
- 0252fb36 - iris: actually save VBs
- 793276cd - iris: msaa sample count packing problems
- 95fe254c - iris: fix prim type
- 5fad62ce - iris: fix bogus index buffer reference
- d62b0b9e - iris: draw->restart_index is uninitialized if PR is not enabled
- 628a71c2 - iris: parse INTEL_DEBUG
- 4525dda7 - iris: reworks, FS compile pieces
- 6aa15cad - iris: import program cache code
- 695bd55d - iris: do the FS...asserts because we don't lower uniforms yet
- 64f04357 - iris: lower io
- b701096a - iris: make iris_batch target a particular ring
- 7bfc8f7d - iris: kill iris_new_batch
- ff5c886f - iris: move MAX defines to iris_batch.h
- 7d90cc8d - iris: bit of SBA code
- f31ae762 - iris: flag SBA updates when instruction BO changes
- d900a235 - iris: try and have an iris address
- 4dc683f6 - iris: so, sba then.
- b574b563 - iris: reference VB BOs
- 6e01bc06 - iris: VB addresses
- 50b1e019 - iris: DEBUG=bat
- b332ff48 - iris: VB fixes
- 08291140 - iris: actually APPEND commands, not stomp over the top and never incr
- 24cc6276 - iris: actually flush the commands
- 0a513d63 - iris: actually advance forward when emitting commands
- dcfb0637 - iris: initialize dirty bits to ~0ull
- 41b32a4e - iris: hack to stop crashing on samplers for now
- e9128990 - iris: fix indentation
- fc5ddc64 - iris: fix assert
- 129fae5a - iris: fix VBs
- 317263ab - iris: vertex packet fixes
- b3646e2b - iris: fix VF instancing length so we don't get garbage in batch
- 2f100c6e - iris: 3DPRIMITIVE fields
- dc4453d8 - iris: bind_state -> compute state
- df401aaa - iris: scissor slots
- 581459a9 - iris: some shader bits
- 57c1b714 - iris: promote iris_program_cache_item to iris_compiled_shader
- 1cf21cc8 - iris: actually save derived state
- cfd5fcc2 - iris: emit shader packets
- d71d2028 - iris: convert IRIS_DIRTY_* to #defines
- 3e684d0e - iris: don't forget about TE
- 04775913 - iris: reorganize commands to match brw
- bae54145 - iris: initial gpu state
- 8665dfd6 - iris: WM.
- 8dffc9b1 - iris: index buffer BO
- cf7ba838 - iris: more comes from bits filled in
- c493fee7 - iris: drop const from prog data parameters
- 876417f9 - iris: softpin some things
- 5ae278da - iris: use vtbl to avoid multiple symbols, fix state base address
- 5864c941 - iris: fix SBA
- bba13b15 - iris: move key pop to state module
- 6ecc93f7 - iris: bits of WM key
- e7a729ba - iris: shuffle comments
- 67ca2be9 - iris: no NEW_SBA
- 9437e135 - iris: rewrite program cache to use u_upload_mgr
- acdff2f9 - iris: actually destroy the cache
- 6f1c07d7 - iris: actually softpin at an address
- b1115799 - iris: actually set KSP offsets
- 538decc0 - iris: URB configs.
- bb3c0be7 - iris: dummy constants
- c96132d5 - iris: blend state
- 5af16f5e - iris: alpha testing in PSB
- 54ba8a60 - iris: basic SBE code
- 352ec1f3 - iris: warning fixes
- 8503578e - iris: fix silly unused batch with addr macro
- e21bddeb - iris: render targets!
- f9d834d5 - iris: don't do samplers for disabled stages
- bda9a77b - iris: smaller blend state
- db15993c - iris: actually pin the instruction cache buffers
- 9be4b3ba - iris: compctrl
- ed42ae2f - iris: more sketchy SBE
- ade381fb - iris: fix dmabuf retval comparisons
- 1739dc0d - iris: more SF CL VPs
- ffcd84f5 - iris: catastrophic state pointer mistake
- 50a2596f - iris: fix extents
- 1a6bb266 - iris: write DISABLES are not write ENABLES...whoops
- 213b70a2 - iris: sample mask...not 0.
- a50a3a8e - iris: uniform bits...badly
- f3150e9e - iris: warn if execbuf fails
- 23367688 - iris: NOOP pad batches correctly
- 7130c43d - iris: decode batches if they fail to submit
- 6891f70d - iris: enable a few more formats
- a235da3e - iris: set strides on transfers
- 902a1224 - iris: stop adding 9 to our varyings
- f6be3d4f - iris: bufmgr updates.
- 36933076 - iris: some thinking about binding tables
- e4aa8338 - iris: Soft-pin the universe
- d78be018 - iris: fix icache memzone
- e95ad599 - iris: dump gtt offset in dump_validation_list
- 3861d24e - iris: Also set SUPPORTS_48B? Not sure if necessary.
- 68229caa - iris: more uploaders
- 651be7cf - iris: rewrite to use memzones and not relocs
- 1af84d34 - iris: set EXEC_OBJECT_WRITE
- 209692c7 - iris: include p_defines.h in iris_bufmgr.h
- 6cbd1d16 - iris: binders
- 65073c22 - iris: hook up batch decoder
- 9955e833 - iris: binder fixes
- 9ac81f18 - iris: decoder fixes
- 24bcf105 - iris: update vb BO handling now that we have softpin
- b69a85bc - iris: validation dumping improvements
- 1398c99a - iris: canonicalize addresses.
- bf90d8a1 - iris: delete more trash
- f51204a1 - iris: allocate SURFACE_STATEs up front and stop streaming them
- 199c0809 - iris: same treatment for sampler views
- 0707ff3f - iris: assemble SAMPLER_STATE table at bind time
- e0eac28b - iris: fix a scissor bug
- d890aee1 - iris: SBA once at context creation, not per batch
- 012154c2 - iris: TES stash
- 34164ce6 - iris: isv freeing fixes
- 5d2673ba - iris: set sampler views
- 0148bd68 - iris: decoder fixes
- 35afa8c8 - iris: better BT asserts
- 010e845a - iris: increase allocator alignment
- 19d11a6d - iris: fix index
- 999ed6e2 - iris: port bug fix from i965
- 3fbf7294 - iris: fixes from i965
- 87aa8807 - iris: fixes
- 21acc004 - iris: crazy pipe control code
- 5a101e64 - iris: bo reuse
- 10e4f1e6 - iris: vma fixes - don't free binder address
- 8bf167c9 - iris: vma - fix assert
- 4929f020 - iris: better SBE
- 39e795d4 - iris: fix texturing!
- c75a1254 - iris: Move get_command_space to iris_batch.c
- 841b3b90 - iris: Defines for base addresses rather than numbers everywhere
- dbd47703 - iris: pull in newer comments
- 60d708bb - iris: copy over i965's cache tracking
- 79466c13 - iris: move bo_offset_from_sba
- c9d9e447 - iris: bits of blorp code
- 698d45b7 - iris: more blitting code to make readpixels work
- e22da1e7 - iris: drop bogus binder free
- 1bba60a4 - iris: fix sampler view crashes
- e2ba98ba - iris: more blorp
- b8a11ad2 - iris: fix blorp prog data crashes
- 86d7fd71 - iris: add INTEL_DEBUG=reemit
- 75a16392 - iris: drop the 48b printout, we never use anything else
- 84abf77c - iris: hacky flushing for now
- 063fc7bb - iris: linear staging buffers - fast CPU access...
- 01fe6df0 - iris: make blorp pin the binder
- 0e3870b9 - iris: blorp URB
- a4a42600 - iris: no more drawing rectangle in blorp
- eb12cc70 - iris: assert surf init
- 44993d45 - iris: some depth stuff :(
- d4a64e0a - iris: bump GL version to 4.2
- 64a3f742 - iris: uniforms for VS
- 6091dc47 - iris: proper length for VE packet?
- 4510098b - iris: proper # of uniforms
- 3650f8df - iris: properly reject formats, fixes RGB32 rendering with texture float
- 7167c6d5 - iris: blorp bug fixes
- ca735c5e - iris: delete growing code and just die for now
- 053fb511 - iris: just turn batch reset_and_clear_caches into reset
- 604a1a16 - iris: chaining not growing
- 5b914a6d - iris: caps
- f31eea1f - iris: fix batch chaining...
- 48ddd721 - iris: fix decoding and undo testing code
- 4d248742 - iris: Lower the max number of decoded VBO lines
- 601ee4c1 - iris: fix whitespace
- 02890c75 - iris: fix 3DSTATE_VERTEX_ELEMENTS length
- 7fb7704b - iris: more depth stuffs...
- f6017da8 - iris: fix VF INSTANCING length
- 7437c28c - iris: util_copy_framebuffer_state (ported from Rob's v3d patches)
- 04d1a3a7 - iris: transfers
- a6dd9caf - iris: flush always
- 201a4d92 - iris: maybe slightly less boats uniforms
- badefe50 - iris: fix constant packet length to match i965
- a504b98e - iris: fix import from dri2/3
- 26cc6099 - iris: better ubo handling
- 9ea05ccf - iris: completely rewrite binder
- 4e007dbb - iris: have more than one const_offset
- 90046b43 - iris: make surface states for cbufs
- eed7f725 - iris: fill out pull constant buffers
- 48dc8bd4 - iris: fix pull bufs that aren't the first user upload
- 5dcf62bb - iris: use u_transfer helpers for now
- 2cbd42cd - iris: IndexFormat = size/2
- 73f3c2ca - iris: better VFI
- a9e357ca - iris: fix release builds
- 08d1f138 - iris: drop assert for now
- 92de0f5a - iris: disable __gen_validate_value in release mode
- d46c5b7c - iris: allow mapped buffers during execution (faster)
- 7c40cdc1 - iris: comment about reemitting and flushing
- 92475461 - iris: state cleaning
- 3eebea88 - iris: untested index buffer upload
- de782e5b - iris: delete some pointless STATIC_ASSERTS
- 149408a3 - iris: untested SAMPLER_STATE pin BO fix
- daceb04b - iris: put back the always flush - fixes some things :(
- 80dee318 - iris: save pointers to streamed state resources
- 3f863cf6 - iris: fix the validation list on new batches
- bbc6d15b - iris: flag DIRTY_WM properly
- ccf37c7d - iris: bindings dirty tracking
- 23987df4 - iris: some dirty fixes
- 477ea6c3 - iris: clear dirty
- c763ecaa - iris: plug leaks
- f9f8ea70 - iris: more leak fixes
- 0db86016 - iris: pc fixes
- 5f722bf7 - iris: remove 4 bytes of padding in iris_compiled_shader
- 8e186cef - iris: rzalloc iris_compiled_shader so memcmp works even if padding creeps in
- 7d504f3d - iris: don't leak sampler state table resources
- 27d45eb2 - iris: don't leak keyboxes when searching for an existing program
- 5619c15e - iris: indentation
- 5f3a7ee7 - iris: use pipe resources not direct BOs
- f8179dc7 - iris: clean up some warnings so I can see through the noise
- 432790ba - iris: print binder utilization in INTEL_DEBUG=submit
- 7d1e6f1f - iris: redo VB CSO a bit
- 0a43c9de - iris: print refcounts in INTEL_DEBUG=submit
- 49f9c888 - iris: support signed vertex buffer offsets
- a6aeca97 - iris: fix major refcounting bug with resources
- a7770501 - iris: fix caps so tests run again
- 26db2ea7 - iris: avoid crashing on unbound constant resources
- 7cdc6b11 - iris: emit 3DSTATE_SBE_SWIZ
- 636cf897 - iris: max VP index
- b1721580 - iris: fix viewport counts and settings
- 4a946285 - iris: fix num viewports to be based on programs
- 92d6a708 - iris: fix VP iteration
- 81f899c1 - iris: scissor count fixes
- f12b079c - iris: actually init num_viewports
- 9226ebfa - iris: print second batch size separately
- d0b55ca7 - iris: don't always flush
- 8c544332 - iris: Handle batch submission failure "better"
- 8e2b71b1 - iris: bad inherited comments
- aacbcbbf - iris: colorize batchbuffer failures to make them stand out
- a3a998f1 - iris: iris - fix QWord aligned endings after batch chaining rework
- 234cf647 - iris: tidy comments about mirroring modes
- e6795122 - iris: Disable unsupported mirror clamp modes
- 419fac2f - iris: fix fragcoord ytransform
- eef0d33c - iris: better boxing on maps
- 72416a2d - iris: clears
- b7cd3a08 - iris: rework DEBUG_REEMIT
- d416b817 - iris: shader dirty bits
- 6cf04c6d - iris: clear fix
- 40fd2fd6 - iris: fall back to u_generate_mipmap
- 4d04111b - iris: implement copy image
- e0f39712 - iris: lightmodel flat
- cbbd6a61 - iris: maybe-flush before blorp operations
- 5188e54e - iris: fix provoking vertex ordering
- d207f978 - iris: larger polygon offset
- de08ac9b - iris: TES uniform fixes
- adf0c204 - iris: geometry shader support
- 4c9067ae - iris: don't emit garbage 3DSTATE_VERTEX_BUFFERS when there aren't any
- 01483c79 - iris: fix 3DSTATE_VERTEX_ELEMENTS / VF_INSTANCING for 0 elements
- 470fb01a - iris: fix GS dispatch mode
- d358a4a0 - iris: depth clears
- c0e80a8d - iris: null surface for unbound textures
- 1cea195a - iris: state ref tuple
- 1c19e3b2 - iris: don't include binder in surface VMA range
- 8a162492 - iris: border color memory zone :(
- ccec5bab - iris: implement border color, fix other sampler nonsense
- a7e0edff - iris: dead pointer
- 8a080223 - iris: just malloc one iris_genx_state instead of a bunch of oddball pieces
- 7f39f484 - iris: SBE change stash
- 36301bbe - iris: fix zoffset asserts with 2DArray/Cube
- d849501f - iris: rename map->stride
- c0ab9c98 - iris: actually set cube bit properly
- 33a17d56 - iris: keep DISCARD_RANGE
- cf34dd7a - iris: actually handle array layers in blits
- 0232fbc2 - iris: comment out l/a/i/la
- eb274a31 - iris: fix clip flagging on fb changes
- f20fc950 - iris: fix depth bounds clamp enables
- 51653081 - iris: don't crash on shader perf logs
- a3f77ece - iris: slab allocate transfers
- 6794f1ff - iris: rearrange iris_resource.h
- 5c00f5fd - iris: Implement 3DSTATE_SO_DECL_LIST
- 059c096e - iris: SO buffers
- cef0b8b1 - iris: streamout
- 9c1cefff - iris: set even if no outputs
- dc3b927e - iris: bother setting program_string_id...
- 5635abad - iris: fix SO_DECL_LIST
- 7b8c0f05 - iris: actually pin the buffers
- bc1b4db3 - iris: fix sample mask for MSAA-off
- 44248d16 - iris: disable 6x MSAA support
- fdbc2055 - iris: multislice transfer maps
- b0306712 - iris: fix CC_VIEWPORT
- 44ba48eb - iris: draw indirect support?
- e6b1cc21 - iris: save query type
- aeb6fc87 - iris: bits of multisample program key
- 48b826cd - iris: s/hwcso/state/g
- a6d480f8 - iris: bind state helper function
- d223b316 - iris: NOS mechanics
- 841fc3e3 - iris: record FS NOS
- 6e7e49cc - iris: fix crash
- 3c41d4cf - iris: fix sampler views of TBOs
- fcee21da - iris: fix texture buffer stride
- 9aa8be3d - iris: TES program key inputs
- ebb960c6 - iris: compile a TCS...don't bother with passthrough yet
- a9083bdb - iris: don't emit SO_BUFFERS and SO_DECL_LIST unless streamout is enabled
- 5520a54b - iris: vertex ID, instance ID
- 3e9e3121 - iris: fix SGVS when there are no valid vertex elements
- 5e19885d - iris: fill out MAX_PATCH_VERTICES
- 5bd861de - iris: assert about passthrough shaders to make this easier to detect
- a12a370d - iris: fix EmitNoIndirect
- a4036635 - iris: fix Z24
- c60a4de1 - iris: reemit blend state for alpha test function changes
- 2c15f38a - iris: point sprite enables
- 3aa1fcc6 - iris: hack around samples confusion
- 5b8dd5f3 - iris: fix blorp filters
- 2c73d7e3 - iris: expose more things that we already support
- f0558ca2 - iris: fix msaa flipping filters
- 541cb60e - iris: export get_shader_info
- 2d5f5454 - iris: implement set_shader_buffers
- bf795b02 - iris: emit binding table for atomic counters and SSBOs
- fd5ed7b4 - iris: shorten loop
- 77b92198 - iris: unbind compiled shaders if none are present
- 75709d98 - iris: fix TBO alignment to match 965
- 376c7253 - iris: enable SSBOs
- b7b061c4 - iris: fix SSBO indexing
- b0e9c579 - iris: fix for disabling ssbos
- f0159d5c - iris: update bindings when changing programs
- 82ee9714 - iris: drop unused bo parameter
- 870f2e84 - iris: implement texture/memory barriers
- 8e7b0dee - iris: Don't reserve new binding table section unless things are dirty
- a7311ef0 - iris: update a todo comment
- f3dd7018 - iris: BIG OL' HACK for UBO updates
- 8da91ebb - iris: enable texture gather
- c9f9a6f6 - iris: Avoid croaking when trying to create FBO surfaces with bad formats
- 834b97c3 - iris: fix GS output component limit
- e9905581 - iris: drop pipe_shader_state
- 80c70966 - iris: fix sample mask
- 03dc9947 - iris: cube arrays are cubes too
- 682aeff8 - iris: we don't support textureGatherOffsets, need it lowered
- 02b82fe8 - iris: Set resource modifier on handle
- 9d39e692 - iris: fix some hangs around null framebuffers
- 387a414f - iris: add minor comments
- dfe1ee4f - iris: comment everything
- 5911fb88 - iris: sync bugfixes from brw_bufmgr
- 796ad6fe - iris: Wrap userptr for creating bo
- 1a9651f2 - iris: remember to set bo->userptr
- 621cb43f - iris: rename ring to engine
- a378ee36 - iris: simplify batch len qword alignment
- 2d578e71 - iris: get angry about execbuf failures
- 763f9095 - iris: fill out more caps
- 9ec2d364 - iris: depth or stencil fixes
- 753646dd - iris: clear stencil
- 7972599e - iris: actually emit stencil packets
- d93a20e2 - iris: allow S8 as a stencil format
- 853230b5 - iris: WTF transfers
- b932938d - iris: use u_transfer_helper for depth stencil packing/unpacking
- be60e324 - iris: drop stencil handling now that u_transfer_helper does it
- ad76389f - iris: refcounting, who needs it?
- d5146ba6 - iris: actually do stencil blits
- 532cf23d - iris: say no to more formats
- 1f156f00 - iris: deal with Marek's new MSAA caps
- 906becec - iris: we can do multisample Z resolves
- ea19d359 - iris: Convert RGBX to RGBA for rendering.
- bce73986 - iris: disallow RGB32 formats too
- 84832ab7 - iris: Fix tiled memcpy for cubes...and for array slices
- 03933a2d - iris: blorp blit multiple slices
- 0e059e48 - iris: assert depth is 1 in resource_copy_region
- 84b30a29 - iris: call maybe_flush for each blorp operation
- ee8cb7e0 - iris: implement ARB_clear_texture
- 2bd7d6fa - iris: last VUE map NOS, handle > 16 FS inputs
- aad70ad8 - iris: drop dead assignments
- ad6ba5a7 - iris: drop pwrite
- 630d6029 - iris: port non-bucket alignment bugfix
- 7705f62c - iris: don't emit SBE all the time
- aba2cee7 - iris: rename pipe to base
- 33701d53 - iris: Drop bogus sampler state saving
- 410a555b - iris: move iris_shader_state from ice->shaders.state to ice->state.shaders
- b75b5253 - iris: Move things to iris_shader_state
- 3fecb1c4 - iris: Move iris_sampler_view declaration to iris_resource.h
- 1d33982e - iris: track depth/stencil writes enabled
- 42dccb12 - iris: use consistent copyright formatting
- 5e30b108 - iris: Move cache tracking to iris_resolve.c
- 93c1921c - iris: proper cache tracking
- d209cc51 - iris: AMD_pinned_memory
- 04e8c5bb - iris: precompute hashes for cache tracking
- abe7dbfa - iris: Reduce binder alignment from 64 to 32
- 367f6bbd - iris: Record reusability of bo on construction
- d1cb4b33 - iris: reenable R32G32B32 texture buffers
- 7ed4b802 - iris: z_res -> s_res
- 701b47a1 - iris: implement get_sample_position
- d2516358 - iris: fix line-aa-width
- b3bb33c4 - iris: try to hack around binder issue
- e4d22b16 - iris: fix sampler state setting
- b2a5e1eb - iris: big old hack for tex-miplevel-selection
- 9f765413 - iris: use linear for 1D textures
- 6331b754 - iris: handle level/layer in direct maps
- 47d3019c - iris: fix crash when binding optional shader for the first time
- 9ce92fa0 - iris: Skip primitive ID overrides if the shader wrote a custom value
- 52eb8d55 - iris: fix blend state memcpy
- 3e7a41f2 - iris: new caps
- 2ebce6f8 - iris: use Eric's new caps helper
- 888efcd1 - iris: Allow inlining of require/get_command_space
- 4c27cb03 - iris: skip over whole function if dirty == 0
- 5a2257bb - iris: don't unconditionally emit 3DSTATE_VF / 3DSTATE_VF_TOPOLOGY
- 938afd48 - iris: fix constant buffer 0 to be absolute
- f838400a - iris: set EXEC_OBJECT_CAPTURE on all driver internal buffers
- 148e315d - iris: fix null FB and unbound tex surface state addresses
- eff081cd - iris: Support multiple binder BOs, update Surface State Base Address
- 5cb0527c - iris: fix SO offset writes for multiple streams
- f6924e23 - iris: update comments for multibinder
- 1a61a211 - iris: fix memzone_for_address since multibinder changes
- 2963276a - iris: move binder pinning outside the dirty == 0 check
- c0422d62 - iris: re-pin binding table contents if we didn't re-emit them
- 2d1db44e - iris: enable ARB_enhanced_layouts
- 73a4cef2 - iris: refactor LRIs in context setup
- 921790b0 - iris: initialize "don't suck" bits, as Ben likes to call them
- 2b956a09 - iris: totally untested icelake support
- fb4a3e27 - iris: Fix uses of gl_TessLevel*
- 897f8d92 - iris: refactor program CSO stuff
- 58a6c99e - iris: silence const warning
- aaced066 - iris: fix context restore of 3DSTATE_CONSTANT ranges
- f2f506fa - iris: properly re-pin stencil buffers
- a858b698 - iris: delete bogus comment
- 5395658c - iris: inherit the index buffer properly
- 54e23442 - iris: Add support for TCS passthrough
- 30c370ed - iris: use 0 for TCS passthrough program string ID
- af9fe0d4 - iris: rw_bo for pipe controls
- dd478913 - iris: LRM/SRM/SDI hooks
- dca5632d - iris: initial query code
- d4e45175 - iris: gen10+ workarounds and break fix
- cf261caa - iris: results write
- ad147958 - iris: flush batch when asking for result via QBO
- f5a8908b - iris: fix random failures via CS stall...but why?
- 0b095c66 - iris: gpr0 to bool
- 7840d0e0 - iris: play chicken with timer queries for now
- ffae6e31 - iris: pipeline stats
- d8875fe4 - iris: primitives generated query support
- 23572cdd - iris: drop explicit pinning
- ec82be57 - iris: timestamps
- 36fbcfb0 - iris: ...and SO prims emitted queries
- 1d91eba7 - iris: glGet timestamps, more correct timestamps
- dff174c1 - iris: Need to | 1 when asking for timestamps
- 07ff8c75 - iris: 36-bit overflow fixes
- d3a5d872 - iris: early return properly
- 57f8a623 - iris: better query file comment
- 0395eba2 - iris: magic number 36 -> #define
- 3c0ef22e - iris: Enable ARB_shader_vote
- c6016d37 - iris: just mark snapshots_landed from the CPU
- 2f240006 - iris: drop a bunch of pipe_sampler_state stuff we don't need
- 294ce58a - iris: vma_free bo->size, not bo_size
- 822f9150 - iris: don't mark contains_draw = false when chaining batches
- 9b229d26 - iris: fix Z32_S8 depth sampling
- 90b9efc1 - iris: stencil texturing
- 87351b8d - iris: force persample interp cap
- 6fbb6ba2 - iris: pipe to scs -> iris_pipe.h
- 0fdcb208 - iris: inline stage_from_pipe to avoid unused warnings
- 65d1cda9 - iris: add gen11 to genX_call
- b9eeed3e - iris: Allow PIPE_CONTROL with Stall at Scoreboard and RT flush
- 94569a64 - iris: rework format translation apis
- bfbebbaa - iris: Use R/RG instead of I/L/A when sampling
- 6e7957a2 - iris: enable I/L formats
- 28b41992 - iris: X32_S8X24 :/
- e97a24da - iris: set the binding table size
- 26a54ae4 - iris: lower storage image derefs
- f5b887da - iris: implement set_shader_images hook
- 5d1dadfc - iris: bother with BTIs
- a06f0fe5 - iris: set image access correctly
- d9aee25a - iris: Don't lower image formats for write-only images
- 98e8f80e - iris: actually set image access
- 0d9c5b4e - iris: null for non-existent cbufs
- c29fd342 - iris: move images next to textures in binding table
- 6441e906 - iris: Set num_uniforms in bytes
- be905bd4 - iris: advertise GL_ARB_shader_texture_image_samples
- 4da28c2c - iris: Enable fb fetch
- 752abeb6 - iris: initial compute caps
- f6c68066 - iris: yes
- 12de56f5 - iris: drop dead format //'s
- 860ce6af - iris: drop XXX's about swizzling
- 9fc67242 - iris: little bits of compute basics
- 25f1625e - iris/compute: Set mask bits on PIPELINE_SELECT
- 622aaa29 - iris: Add IRIS_DIRTY_CONSTANTS_CS
- 6ebd04ac - iris: Add iris_restore_compute_saved_bos
- 9b5cda95 - iris/compute: Add MEDIA_STATE_FLUSH following WALKER
- fd9ccd8b - iris/compute: Flush compute batches
- c7cfa400 - iris/compute: Get group counts from grid->grid
- ea416d0b - iris/program: Don't try to push ubo ranges for compute
- fcd03648 - iris/compute: Wait on compute batch when mapping
- fb463779 - iris/compute: Provide binding table entry for gl_NumWorkGroups
- 229450a2 - iris/compute: Flush compute batch on memory-barriers
- b35c8f21 - iris/compute: Push subgroup-id
- 942bdb29 - iris/compute: Support indirect compute dispatch
- 549db5b9 - iris: drop XXX that Jordan handled
- 7fb8c20d - iris: drop unnecessary #ifdefs
- 973b937c - iris: leave XXX about unnecessary binding table uploads
- b0dc1199 - iris: bail if SLM is needed
- 643030f4 - iris: fix whitespace
- 155e1a63 - iris: XXX for compute state tracking :/
- 06a993da - iris: rewrite grid surface handling
- f8796079 - iris: better dirty checking
- b3a40c27 - iris: don't let render/compute contexts stomp each other's dirty bits
- b2d223b6 - iris: hack to avoid memorybarriers out the wazoo
- 8fa99481 - iris: do PIPELINE_SELECT for render engine, add flushes, GLK hacks
- 97125e9b - iris: fix SBA flushing by refactoring code
- 3f70956a - iris: try and avoid pointless compute submissions
- d98967d9 - iris: fix UBOs with bindings that have an offset
- 5bd49a47 - iris: flag CC_VIEWPORT when changing num viewports
- d1f89477 - iris: fix SF_CLIP_VIEWPORT array indexing with multiple VPs
- a9b32f2b - iris: Fix texture buffer / image buffer sizes.
- ba2a4207 - iris: Clamp UBO and SSBO access to the actual BO size, for safety
- 938d63b2 - iris: Move snapshots_landed to the front.
- 5d1a9db7 - iris: Fix off by one in scissoring, empty scissors, default scissors
- 927c4a21 - iris: Fall back to 1x1x1 null surface if no framebuffer supplied
- a3e813c5 - iris: SO_DECL_LIST fix
- c16e711f - iris/compute: Don't increment the grid size offset
- 8e8868d5 - iris/compute: Zero out the last grid size on indirect dispatches
- 8a98e904 - iris: Fix refcounting of grid surface
- 525d89ca - iris: delete dead code
- aef1ba5c - iris: fix overhead regression from "don't stomp each other's dirty bits"
- 317ba879 - iris: allow binding a null vertex buffer
- 84a41943 - iris: Flag constants dirty on program changes
- 3e6aaa1b - iris: Disable a PIPE_CONTROL workaround on Icelake
- 80497af1 - iris: Enable ARB_shader_stencil_export
- 4b31f506 - iris: Enable A8/A16_UNORM in an inefficient manner
- 9c8fdf81 - iris: Drop B5G5R5X1 support
- bcac11c8 - iris: Use at least 1x1 size for null FB surface state.
- ed016b2a - iris: fix crash in sparse vertex array
- c3cc525c - iris: Cross-link iris_batches so they can potentially flush each other
- fbe5d75f - iris: cross batch flushing
- cb5f47f5 - iris: Don't leak the compute batch
- 9ec92749 - iris: Actually create/destroy HW contexts
- 846316b2 - iris: Enable msaa_map transfer helpers
- 9511b89e - iris: tidy more warnings
- 4d219b0e - iris: implement scratch space!
- e5d84bbd - iris: Fix MSAA smooth points
- 58507c02 - iris: Fix TextureBarrier
- 64af1d92 - iris: Fix multiple RTs with non-independent blending
- 2727a942 - iris: partial set_query_active_state
- 587e4381 - iris: Print the batch name when decoding
- e98cf9c2 - iris: Clone the NIR
- ed08f022 - iris: Defer cbuf0 upload to draw time
- ecb28b28 - iris: drop unnecessary param[] setup from iris_setup_uniforms
- d3e8ff14 - iris: add param domain defines
- 2186d831 - iris: fill out params array with built-ins, like clip planes
- 80c856cb - iris: only bother with params if there are any...
- 2876dd1a - iris: lower user clip planes
- 2b0a2915 - iris: hook up key stuff for clip plane lowering
- deb6d588 - iris: fix system value remapping
- 78fc760b - iris: dodge backend UCP lowering
- c60ce3f4 - iris: bypass params and do it ourselves
- a98634a2 - iris: actually upload clip planes.
- 50743eb7 - iris: fix num clip plane consts
- 7eeb124c - iris: fix more uniform setup
- 1ef68d77 - iris: drop iris_setup_push_uniform_range
- 6d19fe37 - iris: enable push constants if we have sysvals but no uniforms
- 911f9e8f - iris: regather info so we get CLIP_DIST slots, not CLIP_VERTEX
- f4829a2f - iris: don't support pull constants.
- 1b5d3531 - iris: don't trip on param asserts
- f1f84a1a - iris: drop param stuffs
- 2ddbc102 - iris: don't forget to upload CS consts
- e11c497f - iris: fix sysval only binding tables
- 983e2ae7 - iris: only clip lower if there's something to clip against
- 89833edd - iris: leave another TODO
- b2c04aa3 - iris: Fix SourceAlphaBlendFactor
- c06f6d12 - iris: "Fix" transfer maps of buffers
- 5207a5f5 - iris: Fix independent alpha blending.
- 25f194d5 - iris: more TODO
- 9878ea84 - iris: scissored and mirrored blits
- da559049 - iris: more todo notes
- 8545e398 - iris: Fix TCS/TES slot unification
- 25a41b1a - iris: properly pin stencil buffers
- a90a0e22 - iris: Configure the L3$ on the compute context
- f9c5e277 - iris: Don't set constant read lengths at upload time
- 1b69b14c - iris: Fix SLM
- 01e729f8 - iris: Tidy exporting the flink handle
- e5528151 - iris: Fix assigning the output handle for exporting for KMS
- fb4c8988 - iris: Use iris_use_pinned_bo rather than add_exec_bo directly
- b21e916a - iris: Combine iris_use_pinned_bo and add_exec_bo
- 30d7bebc - iris: Avoid cross-batch synchronization on read/reads
- 11da219b - iris: Avoid synchronizing due to the workaround BO
- 3455f575 - iris: replace vestiges of fence fds with newer exec_fence API
- 54347c07 - iris: Merge two walks of the exec_bos list
- 3e332af6 - iris: Drop vestiges of throttling code
- fae74234 - iris: Tag each submitted batch with a syncobj
- d69bc4ac - iris: Hang on to the last batch's sync-point, so we can wait on it
- db199d9d - iris: Add wait fences to properly sync between render/compute
- f459c56b - iris: Add fence support using drm_syncobj
- 017b5566 - iris: leave a TODO
- d918c099 - iris: flush the compute batch too if border pool is redone
- c2a77efa - iris: put render batch first in fence code
- f1a7392b - iris: Put batches in an array
- 2c237213 - iris: PIPE_CONTROL workarounds for GPGPU mode
- f9612e76 - iris: RT flush for memorybarrier with texture bit
- 39cb1061 - iris: update comment
- b9ccb00e - iris: Enable ctx->Const.UseSTD430AsDefaultPacking
- beb2d5e0 - iris: Lie about indirects
- c5b22441 - iris: Fix buffer -> buffer copy_region
- 1b1ea237 - iris: Fix VIEWPORT/LAYER in stream output info
- 5dbd6df9 - iris: Do the 48-bit vertex buffer address invalidation workaround
- f49f506b - iris: drop long dead XXX comment
- d169747a - iris: Track a binding history for buffer resources
- c8579e70 - iris: add iris_flush_and_dirty_for_history
- 415ede34 - iris: Flush for history at various moments
- 84a8c635 - iris: Re-pin even if nothing is dirty
- d525b3df - iris: fix prototype warning
- e5df8913 - iris: export iris_upload_shader
- e628095b - iris: fix comment location
- 701a6b60 - iris: Use wrappers for create_xs_state rather than a switch statement
- ed4ffb97 - iris: rework program cache interface
- 855ff47d - iris: Enable precompiles
- 10d04cda - iris: Use program's num textures not the state tracker's bound
- 24061569 - iris: drop pull constant binding table entry
- 43127846 - iris: add assertions about binding table starts
- 69e97670 - iris: add an extra BT assert from Chris Wilson
- 0ded23a5 - iris: actually flush for storage images
- 527e5bcd - iris: add initial transform feedback overflow query paths (V3)
- 39d1056d - iris: fix some SO overflow query bugs and tidy the code a bit
- 00645ea0 - iris: fix cube texture view
- 311a1b31 - iris: execute compute related query on compute batch.
- e4115eac - iris: iris add load register reg32/64
- dbe198d6 - iris: drop key_size_for_cache
- 7bbf3ff4 - iris: add conditional render support
- 0c3ea03e - iris: for BLORP, only use the predicate enable bit when USE_BIT
- 40b12c10 - iris: check query first
- 761a5fb3 - iris: fix conditional compute, don't stomp predicate for pipelined queries
- fbf31247 - iris: Rework tiling/modifiers handling
- bdc1269e - iris: Fix failed to compile TCS message
- 3d55e9a2 - iris: Destroy transfer helper on screen teardown
- f73fdb40 - iris: Destroy the border color pool
- 6cb21112 - iris: Unref unbound_tex resource
- 7c29c3d0 - iris: Fix IRIS_MEMZONE_COUNT to exclude the border color pool
- 68d531d7 - iris: Destroy the bufmgr
- 2c0f0012 - iris: Stop leaking iris_uncompiled_shaders like mad
- 773adeb9 - iris: move some non-buffer case code in a bit
- 585c95f8 - iris: Don't bother considering if the underlying surface is a cube
- 47d4ea1a - iris: Allocate buffer resources separately
- 90274bd4 - iris: fix alpha channel for RGB BC1 formats
- c03fbb41 - iris: fix dma buf import strides
- 1114f0c1 - iris: CS stall for stream out -> VB
- 72cf2185 - iris: make clipper statistics dynamic
- bd031eb2 - iris: reject all clipping when we can't use streamout render disabled
- 480c62bc - iris: omask can kill
- 19803d0a - iris: reemit SBE when sprite coord origin changes
- a24734a2 - iris: re-pin inherited streamout buffers
- 4749f6cc - iris: Fix NOS mechanism
- 598ce8e8 - iris: fix overhead regression from flushing for storage images
- 1c6fea8e - iris: fix set_sampler_views to not unbind, be better about bounds
- 7ad7d0be - iris: Fix set_sampler_views with start > 0
- 5fde1fa9 - iris: Replace num_textures etc with a bitmask we can scan
- 2e79e46d - iris: Drop continues in resolve
- fb2df1b5 - iris: Fix clear dimensions
- f062dcdf - iris: Clamp viewport extents to the framebuffer dimensions
- 99cab4d3 - iris: Enable guardband clipping
- 5f511798 - iris: Fix primitive generated query active flag
- 90b27451 - iris: Always do rasterizer discard in clipper
- 97e82e80 - iris: override alpha to one src1 blend factors
- 96bb328e - iris: add Android build
- 286b8b8f - iris: handle PatchVerticesIn as a system value.
- 2f5d8566 - iris: rewrite set_vertex_buffer and VB handling
- 5094062b - iris: Reorder LRR parameters to have dst first.
- 754d678b - iris: Add _MI_ALU helpers that don't paste
- cf4931e5 - iris: Don't bother packing 3DSTATE_SO_BUFFER at create time
- 31357bae - iris: Move iris_stream_output_target def to iris_context.h
- 52baba80 - iris: only get space for one offset in stream output targets
- 2e103fff - iris: Copy anv's MI_MATH helpers for multiplication and division
- 5307ff6a - iris: Implement DrawTransformFeedback()
- 392fba5f - iris: drop unnecessary genx->streamout field
- 598a7884 - iris: Fix for PIPE_CAP_SIGNED_VERTEX_BUFFER_OFFSET
- ad969a00 - iris: Fix the prototype for iris_bo_alloc_tiled
- b92ca4d0 - iris: don't print the pointer in INTEL_DEBUG=submit
- b358c4b9 - iris: Use a surface state fill helper
- b2fa9070 - iris: Make a alloc_surface_state helper
- 5481887c - iris: whitespace fixes
- fbfe07c4 - iris: Track blend enables, save outbound for resolve code
- 32ee2e4c - iris: always pin the binder...in the compute context, too.
- dd0d47a5 - iris: delete finished comments
- e169cb09 - iris: pin and re-pin the scratch BO
- 3a938a4b - iris: more dead comments
- 3c45d030 - iris: only mark depth/stencil as writable if writes are actually enabled
- aaaf6111 - iris: fix gpu calcs for timestamp queries
- 154e3e45 - iris: better MOCS
- 73d525f1 - iris: Fix scratch space allocation on Icelake.
- 6c17e7d9 - iris: Fix assertion in iris_resource_from_handle() tiling usage
- 7ddc1f8d - iris: Only resolve inputs for actual shader stages
- 3ab3aa23 - iris: Add a more long term TODO about timebase scaling
- 73709be0 - iris: Fix compute scratch pinning
- 5be72d9a - iris: Delete bogus comment about cube array counting.
- 823609b1 - iris/WIP: add broadwell support
- 1bbf0954 - iris: limit gen8 to 8 samples
- 8806b29e - iris: setup gen8 caps
- 5ae2e5aa - iris: add fs invocations query workaround for broadwell
- df60241f - iris: handle qbo fragment shader invocation workaround
- 2ca0d913 - iris: Fix framebuffer layer count
- bc3bb286 - iris: Don't enable push constants just because there are system values
- 7e35333c - iris: Don't make duplicate system values
- 477e7d57 - iris: Fill out brw_image_params for storage images on Broadwell
- 7ed1383c - iris: Fix surface states for Gen8 lowered-to-untype images
- 307f3f99 - iris: Leave a comment about why Broadwell images are broken
- 7a9e87c2 - iris: Implement multi-slice copy_region
- bacc722d - iris: Flush the render cache in flush_and_dirty_for_history
- 8eda6f22 - iris: Handle PIPE_TRANSFER_DISCARD_WHOLE_RESOURCE somewhat
- 572fad1e - iris: Don't check other batches for our batch BO
- 02991e28 - iris: Drop a dead comment
- 7f318bf2 - iris: Delete genx->bound_vertex_buffers
- 5aef30b8 - iris: Fix Broadwell WaDividePSInvocationCountBy4
- a23c06ca - iris: Use new PIPE_STAT_QUERY enums rather than hardcoded numbers.
- 1f91f688 - iris: Switch to the new PIPELINE_STATISTICS_QUERY_SINGLE capability
- e17333ea - iris: fail to create screen for older unsupported HW
- 3b336a15 - iris: Allow sample mask of 0
- 0f677b0d - iris: Don't enable smooth points when point sprites are enabled
- 7837fec7 - iris: Assert about blits with color masking
- c81941f1 - iris: Pay attention to blit masks
- 61798e3c - iris: CS stall on VF cache invalidate workarounds
- b9697dd8 - iris: Fix SO issue with INTEL_DEBUG=reemit, set fewer bits
- 3bcb1a7f - iris: Don't whack SO dirty bits when finishing a BLORP op
- 0f33204f - iris: Fix memzone_for_address for the surface and binder zones
- 4801af2f - iris: Do binder address allocations per-context, not globally.
- 4fd1f70e - iris: always include an extra constbuf0 if using UBOs
- 5d3d7571 - iris: Zero the compute predicate when changing the render condition
- 1db394f4 - iris: Remap stream output indexes back to VARYING_SLOT_*.
- edd3ce5a - iris: Enable PIPE_CAP_COMPACT_ARRAYS
- 6e41f1b4 - iris: Drop comment about ISP_DIS
- e092ed92 - iris: Drop dead state_size hash table
- b1bacbf0 - iris: Unreference some more things on state module teardown
- 4bfd12bb - iris: minor tidying
- 732c3a90 - iris: Fix bug in bound vertex buffer tracking
- a1ebac37 - iris: Implement ALT mode for ARB_{vertex,fragment}_shader
- c24a574e - iris: Don't allocate a BO per query object
- 3b1ac824 - iris: Add a timeout_nsec parameter, rename check_syncpt to wait_syncpt
- 18e31a9b - iris: Fix accidental busy-looping in query waits
- 9376799b - iris: Use READ_ONCE and WRITE_ONCE for snapshots_landed
- 1cd001aa - iris: Make a iris_batch_reference_signal_syncpt helper function.
- 974229df - iris: Add PIPE_CAP_MAX_VARYINGS
- 15341778 - iris: rework num textures to util_lastbit
- be49fb05 - iris: Stop chopping off the first nine characters of the renderer string
- f89a5788 - iris: fix build with gallium nine
- bffb65d2 - iris: improve PIPE_CAP_VIDEO_MEMORY bogus value
- 27d751cd - iris: Drop XXX about alpha testing
- d612cd1b - iris: Set 3DSTATE_WM::ForceThreadDispatchEnable
- bf23e796 - iris: Set HasWriteableRT correctly
- 8ab82bd1 - iris: Drop XXX about checking for swizzling
- cacf84ed - iris: implement clearing render target and depth stencil
- 973f01d5 - iris: Move create and bind driver hooks to the end of iris_program.c
- 455c9596 - iris: Store internal_format when getting resource from handle.
- 07ec1f0b - iris: Make an IRIS_MAX_MIPLEVELS define
- 1b5c342f - iris: Simplify iris_get_depth_stencil_resources
- d6dd57d4 - iris: Add missing depth cache flushes
- 51ddc400 - iris: Always emit at least one BLEND_STATE
- d0996d5f - iris: Emit default L3 config for the render pipeline
- a7bc4d60 - iris: Add iris_resource fields for aux surfaces
- 3cfc6a20 - iris: Fill out res->aux.possible_usages
- 3efd5299 - iris: Fill out SURFACE_STATE entries for each possible aux usage
- f8793493 - iris: create aux surface if needed
- 77a1070d - iris: Initial import of resolve code
- 53c484ba - iris: blorp using resolve hooks
- 3c979b0e - iris: add some draw resolve hooks
- d8f3bc1c - iris: actually use the multiple surf states for aux modes
- 5eb75345 - iris: try to fix copyimage vs copybuffers
- c53a67d4 - iris: be sure to skip buffers in resolve code
- f8aa9aa3 - iris: resolve before transfer maps
- 56f1fe3e - iris: pin the buffers
- bfc76d35 - iris: store modifier info in res
- b77d2dc7 - iris: Make blit code use actual aux usages
- ecc897b8 - iris: consider framebuffer parameter for aux usages
- 45f4dab6 - iris: Resolves for compute
- 9b1126c9 - iris: disable aux for external things
- 2cddc953 - iris: some initial HiZ bits
- 92c310fd - iris: don't use hiz for MSAA buffers
- fd2038b2 - iris: Set program key fields for MCS
- 689b5900 - iris: Skip msaa16 on gen < 9.
- 15822f33 - iris: make surface states for CCS_D too
- 4634b754 - iris: do flush for buffers still
- f3f7d45a - iris: Allow disabling aux via INTEL_DEBUG options
- dfd54f99 - iris: Flush before hiz_exec.
- 4f191feb - iris: Pin HiZ buffers when rendering.
- 95a36bd5 - iris: Fix aux usage in render resolve code
- 7da53d71 - iris: Only resolve compute resources for compute shaders
- 8190165d - iris: Avoid leaking if we fail to allocate the aux buffer.
- 36138bb7 - iris/clear: Pass on render_condition_enabled.
- 95589652 - iris: Skip resolve if there's no context.
- db814458 - iris: Flag ALL_DIRTY_BINDINGS on aux state change.
- cd0ced49 - iris: Enable auxiliary buffer support
Toggle commit list-
256070ce...eac822ea - 6 commits from branch
I hit the merge button, and gitlab merged the code, said "merging in progress", then apparently gave up and didn't close it. Must be something about merging 798 commits in one go. *shrug*
Anyway, landed as cd0ced49, closing. Thanks all!
mentioned in merge request !2341 (merged)