Kenneth Graunke
90046b43cc
iris: make surface states for cbufs
2019-02-21 10:26:06 -08:00
Kenneth Graunke
4e007dbb30
iris: have more than one const_offset
2019-02-21 10:26:06 -08:00
Kenneth Graunke
9ea05ccf1f
iris: completely rewrite binder
...
now we get a new one per batch, and flush if it fills up
2019-02-21 10:26:06 -08:00
Kenneth Graunke
26cc609927
iris: better ubo handling
2019-02-21 10:26:06 -08:00
Kenneth Graunke
7fb7704b2e
iris: more depth stuffs...
...
still missing stencil
2019-02-21 10:26:06 -08:00
Kenneth Graunke
e2ba98ba39
iris: more blorp
2019-02-21 10:26:06 -08:00
Kenneth Graunke
698d45b725
iris: more blitting code to make readpixels work
2019-02-21 10:26:06 -08:00
Kenneth Graunke
c9d9e44720
iris: bits of blorp code
2019-02-21 10:26:06 -08:00
Kenneth Graunke
60d708bb80
iris: copy over i965's cache tracking
...
needed to split out vtbl so I can pipe control without ice
2019-02-21 10:26:06 -08:00
Kenneth Graunke
21acc00490
iris: crazy pipe control code
...
imported from ~kwg/mesa pcx-2, gen < 8 code dropped
2019-02-21 10:26:06 -08:00
Kenneth Graunke
5d2673ba7e
iris: set sampler views
2019-02-21 10:26:05 -08:00
Kenneth Graunke
0707ff3f2f
iris: assemble SAMPLER_STATE table at bind time
...
It's useless to allocate SAMPLER_STATEs in GPU memory on creation like
we do for SURFACE_STATES, because they need to be organized into a
contiguous block of memory. But we can do that at bind time, rather
than draw time.
2019-02-21 10:26:05 -08:00
Kenneth Graunke
6cbd1d1692
iris: binders
2019-02-21 10:26:05 -08:00
Kenneth Graunke
68229caa38
iris: more uploaders
2019-02-21 10:26:05 -08:00
Kenneth Graunke
a50a3a8edf
iris: uniform bits...badly
2019-02-21 10:26:05 -08:00
Kenneth Graunke
bb3c0be7a8
iris: dummy constants
2019-02-21 10:26:05 -08:00
Kenneth Graunke
538decc0de
iris: URB configs.
2019-02-21 10:26:05 -08:00
Kenneth Graunke
b1115799e6
iris: actually set KSP offsets
2019-02-21 10:26:05 -08:00
Kenneth Graunke
9437e135ed
iris: rewrite program cache to use u_upload_mgr
2019-02-21 10:26:05 -08:00
Kenneth Graunke
67ca2be992
iris: no NEW_SBA
2019-02-21 10:26:05 -08:00
Kenneth Graunke
bba13b1501
iris: move key pop to state module
...
shader key population needs to read state
2019-02-21 10:26:05 -08:00
Kenneth Graunke
5864c9414a
iris: fix SBA
2019-02-21 10:26:05 -08:00
Kenneth Graunke
5ae278da18
iris: use vtbl to avoid multiple symbols, fix state base address
2019-02-21 10:26:05 -08:00
Kenneth Graunke
c493fee73f
iris: drop const from prog data parameters
...
we ralloc steal things, which makes it a little bogus
2019-02-21 10:26:05 -08:00
Kenneth Graunke
bae5414594
iris: initial gpu state
2019-02-21 10:26:05 -08:00
Kenneth Graunke
d71d2028ef
iris: convert IRIS_DIRTY_* to #defines
...
enums are SIGNED. so IRIS_DIRTY_VS << 4 gets sign extended, making it
not equal to IRIS_DIRTY_FS. Surprising!
2019-02-21 10:26:05 -08:00
Kenneth Graunke
1cf21cc813
iris: actually save derived state
2019-02-21 10:26:05 -08:00
Kenneth Graunke
57c1b71418
iris: promote iris_program_cache_item to iris_compiled_shader
2019-02-21 10:26:05 -08:00
Kenneth Graunke
581459a9fe
iris: some shader bits
2019-02-21 10:26:05 -08:00
Kenneth Graunke
dcfb06375a
iris: initialize dirty bits to ~0ull
2019-02-21 10:26:05 -08:00
Kenneth Graunke
7d90cc8da4
iris: bit of SBA code
...
genxml MOCS is stupid, addresses are hard news at 11
2019-02-21 10:26:05 -08:00
Kenneth Graunke
695bd55d1a
iris: do the FS...asserts because we don't lower uniforms yet
2019-02-21 10:26:05 -08:00
Kenneth Graunke
6aa15cadf3
iris: import program cache code
2019-02-21 10:26:05 -08:00
Kenneth Graunke
4525dda75f
iris: reworks, FS compile pieces
2019-02-21 10:26:05 -08:00
Kenneth Graunke
9ca58ca517
iris: delete iris_pipe.c, shuffle code around
2019-02-21 10:26:05 -08:00
Kenneth Graunke
86e0c08b14
iris: make an ice->render_batch field
...
we may want a second one for transfers
2019-02-21 10:26:05 -08:00
Kenneth Graunke
c820f5a4bd
iris: some program code
2019-02-21 10:26:04 -08:00
Kenneth Graunke
21c016b496
iris: emit 3DSTATE_SAMPLER_STATE_POINTERS
2019-02-21 10:26:04 -08:00
Kenneth Graunke
7b80f4587d
iris: sampler states
2019-02-21 10:26:04 -08:00
Kenneth Graunke
efea4d96d9
iris: some draw info, vbs, sample mask
2019-02-21 10:26:04 -08:00
Kenneth Graunke
d6ad9f4732
iris: a bit of depth
...
still need to allocate separate stencil
2019-02-21 10:26:04 -08:00
Kenneth Graunke
3eadb1b3a1
iris: framebuffers
2019-02-21 10:26:04 -08:00
Kenneth Graunke
e7c9bddda7
iris: stipples and vertex elements
2019-02-21 10:26:04 -08:00
Kenneth Graunke
d0aab78dc3
iris: sampler views
2019-02-21 10:26:04 -08:00
Kenneth Graunke
4ec5f8be3e
iris: SF_CLIP_VIEWPORT
2019-02-21 10:26:04 -08:00
Kenneth Graunke
970836c34e
iris: scissors
2019-02-21 10:26:04 -08:00
Kenneth Graunke
7c875deaf0
iris: RASTER + SF + some CLIP, fix DIRTY vs. NEW
2019-02-21 10:26:04 -08:00
Kenneth Graunke
d3d6ef37f6
iris: initial render state upload
2019-02-21 10:26:04 -08:00
Kenneth Graunke
2dce0e94a3
iris: Initial commit of a new 'iris' driver for Intel Gen8+ GPUs.
...
This commit introduces a new Gallium driver for Intel Gen8+ GPUs,
named 'iris_dri.so' after the hardware.
Developed by:
- Kenneth Graunke (overall driver)
- Dave Airlie (shaders, conditional render, overflow query, Gen8 port)
- Chris Wilson (fencing, pinned memory, ...)
- Jordan Justen (compute shaders)
- Jason Ekstrand (image load store)
- Caio Marcelo de Oliveira Filho (tessellation control passthrough)
- Rafael Antognolli (auxiliary buffer fixes)
- The rest of the i965 contributors and the Mesa community
2019-02-21 10:26:04 -08:00