mesa.git
5 years agoiris: fix num viewports to be based on programs
Kenneth Graunke [Wed, 20 Jun 2018 22:57:46 +0000 (15:57 -0700)]
iris: fix num viewports to be based on programs

5 years agoiris: fix viewport counts and settings
Kenneth Graunke [Wed, 20 Jun 2018 22:45:48 +0000 (15:45 -0700)]
iris: fix viewport counts and settings

seeing

   set_viewport_state 0 1
   set_viewport_state 1 15

which gives us a total of 16 viewports, updated incrementally
so keep old values around and update them...

5 years agoiris: max VP index
Kenneth Graunke [Wed, 20 Jun 2018 22:35:10 +0000 (15:35 -0700)]
iris: max VP index

5 years agoiris: emit 3DSTATE_SBE_SWIZ
Kenneth Graunke [Wed, 20 Jun 2018 22:11:09 +0000 (15:11 -0700)]
iris: emit 3DSTATE_SBE_SWIZ

5 years agoiris: avoid crashing on unbound constant resources
Kenneth Graunke [Wed, 20 Jun 2018 06:37:10 +0000 (23:37 -0700)]
iris: avoid crashing on unbound constant resources

instead, read from the workaround BO

5 years agoiris: fix caps so tests run again
Kenneth Graunke [Wed, 20 Jun 2018 04:46:56 +0000 (21:46 -0700)]
iris: fix caps so tests run again

5 years agoiris: fix major refcounting bug with resources
Kenneth Graunke [Wed, 20 Jun 2018 02:22:47 +0000 (19:22 -0700)]
iris: fix major refcounting bug with resources

DONTBLOCK -> NULL was happening after taking a reference, causing those
to live forever

This resolves the OOM problems

5 years agoiris: support signed vertex buffer offsets
Kenneth Graunke [Mon, 18 Jun 2018 18:30:23 +0000 (11:30 -0700)]
iris: support signed vertex buffer offsets

5 years agoiris: print refcounts in INTEL_DEBUG=submit
Kenneth Graunke [Mon, 18 Jun 2018 07:39:10 +0000 (00:39 -0700)]
iris: print refcounts in INTEL_DEBUG=submit

5 years agoiris: redo VB CSO a bit
Kenneth Graunke [Mon, 18 Jun 2018 07:23:25 +0000 (00:23 -0700)]
iris: redo VB CSO a bit

5 years agoiris: print binder utilization in INTEL_DEBUG=submit
Kenneth Graunke [Mon, 18 Jun 2018 05:22:03 +0000 (22:22 -0700)]
iris: print binder utilization in INTEL_DEBUG=submit

5 years agoiris: clean up some warnings so I can see through the noise
Kenneth Graunke [Mon, 18 Jun 2018 04:47:52 +0000 (21:47 -0700)]
iris: clean up some warnings so I can see through the noise

5 years agoiris: use pipe resources not direct BOs
Kenneth Graunke [Sat, 16 Jun 2018 18:33:00 +0000 (11:33 -0700)]
iris: use pipe resources not direct BOs

5 years agoiris: indentation
Kenneth Graunke [Sat, 16 Jun 2018 17:41:38 +0000 (10:41 -0700)]
iris: indentation

5 years agoiris: don't leak keyboxes when searching for an existing program
Kenneth Graunke [Sat, 16 Jun 2018 17:39:33 +0000 (10:39 -0700)]
iris: don't leak keyboxes when searching for an existing program

5 years agoiris: don't leak sampler state table resources
Kenneth Graunke [Sat, 16 Jun 2018 17:39:26 +0000 (10:39 -0700)]
iris: don't leak sampler state table resources

5 years agoiris: rzalloc iris_compiled_shader so memcmp works even if padding creeps in
Kenneth Graunke [Sat, 16 Jun 2018 17:15:24 +0000 (10:15 -0700)]
iris: rzalloc iris_compiled_shader so memcmp works even if padding creeps in

5 years agoiris: remove 4 bytes of padding in iris_compiled_shader
Kenneth Graunke [Sat, 16 Jun 2018 17:15:12 +0000 (10:15 -0700)]
iris: remove 4 bytes of padding in iris_compiled_shader

5 years agoiris: pc fixes
Kenneth Graunke [Sat, 16 Jun 2018 17:13:14 +0000 (10:13 -0700)]
iris: pc fixes

5 years agoiris: more leak fixes
Kenneth Graunke [Sat, 16 Jun 2018 17:04:32 +0000 (10:04 -0700)]
iris: more leak fixes

5 years agoiris: plug leaks
Kenneth Graunke [Sat, 16 Jun 2018 16:56:59 +0000 (09:56 -0700)]
iris: plug leaks

5 years agoiris: clear dirty
Kenneth Graunke [Fri, 15 Jun 2018 19:44:59 +0000 (12:44 -0700)]
iris: clear dirty

5 years agoiris: some dirty fixes
Kenneth Graunke [Fri, 15 Jun 2018 23:22:58 +0000 (16:22 -0700)]
iris: some dirty fixes

two scissor bits, constants not being flagged, ZeroRTA, clip not being
flagged

5 years agoiris: bindings dirty tracking
Kenneth Graunke [Fri, 15 Jun 2018 19:33:58 +0000 (12:33 -0700)]
iris: bindings dirty tracking

5 years agoiris: flag DIRTY_WM properly
Kenneth Graunke [Fri, 15 Jun 2018 19:20:54 +0000 (12:20 -0700)]
iris: flag DIRTY_WM properly

5 years agoiris: fix the validation list on new batches
Kenneth Graunke [Wed, 13 Jun 2018 10:07:00 +0000 (03:07 -0700)]
iris: fix the validation list on new batches

5 years agoiris: save pointers to streamed state resources
Kenneth Graunke [Fri, 15 Jun 2018 18:55:28 +0000 (11:55 -0700)]
iris: save pointers to streamed state resources

will be used for cross-batch validation list fixing

5 years agoiris: put back the always flush - fixes some things :(
Kenneth Graunke [Thu, 14 Jun 2018 22:51:59 +0000 (15:51 -0700)]
iris: put back the always flush - fixes some things :(

5 years agoiris: untested SAMPLER_STATE pin BO fix
Kenneth Graunke [Wed, 13 Jun 2018 10:06:50 +0000 (03:06 -0700)]
iris: untested SAMPLER_STATE pin BO fix

5 years agoiris: delete some pointless STATIC_ASSERTS
Kenneth Graunke [Wed, 13 Jun 2018 09:15:40 +0000 (02:15 -0700)]
iris: delete some pointless STATIC_ASSERTS

these were useful when I was patching relocs

5 years agoiris: untested index buffer upload
Kenneth Graunke [Sun, 10 Jun 2018 02:11:22 +0000 (19:11 -0700)]
iris: untested index buffer upload

5 years agoiris: state cleaning
Kenneth Graunke [Sat, 9 Jun 2018 07:01:09 +0000 (00:01 -0700)]
iris: state cleaning

5 years agoiris: comment about reemitting and flushing
Kenneth Graunke [Thu, 7 Jun 2018 09:28:56 +0000 (02:28 -0700)]
iris: comment about reemitting and flushing

5 years agoiris: allow mapped buffers during execution (faster)
Kenneth Graunke [Fri, 8 Jun 2018 08:28:16 +0000 (01:28 -0700)]
iris: allow mapped buffers during execution (faster)

5 years agoiris: disable __gen_validate_value in release mode
Kenneth Graunke [Thu, 7 Jun 2018 22:33:52 +0000 (15:33 -0700)]
iris: disable __gen_validate_value in release mode

5 years agoiris: drop assert for now
Kenneth Graunke [Thu, 7 Jun 2018 22:14:20 +0000 (15:14 -0700)]
iris: drop assert for now

5 years agoiris: fix release builds
Kenneth Graunke [Thu, 7 Jun 2018 08:54:29 +0000 (01:54 -0700)]
iris: fix release builds

5 years agoiris: better VFI
Kenneth Graunke [Thu, 7 Jun 2018 08:45:47 +0000 (01:45 -0700)]
iris: better VFI

5 years agoiris: IndexFormat = size/2
Chris Wilson [Fri, 8 Jun 2018 21:16:59 +0000 (22:16 +0100)]
iris: IndexFormat = size/2

brw uses:
  IndexFormat = index_size >> 1

anv uses:
  IndexFromat = index_type[index_size]

5 years agoiris: use u_transfer helpers for now
Kenneth Graunke [Thu, 7 Jun 2018 08:25:35 +0000 (01:25 -0700)]
iris: use u_transfer helpers for now

5 years agoiris: fix pull bufs that aren't the first user upload
Kenneth Graunke [Thu, 7 Jun 2018 07:23:23 +0000 (00:23 -0700)]
iris: fix pull bufs that aren't the first user upload

5 years agoiris: fill out pull constant buffers
Kenneth Graunke [Wed, 6 Jun 2018 21:56:10 +0000 (14:56 -0700)]
iris: fill out pull constant buffers

5 years agoiris: make surface states for cbufs
Kenneth Graunke [Wed, 6 Jun 2018 21:37:38 +0000 (14:37 -0700)]
iris: make surface states for cbufs

5 years agoiris: have more than one const_offset
Kenneth Graunke [Wed, 6 Jun 2018 21:14:31 +0000 (14:14 -0700)]
iris: have more than one const_offset

5 years agoiris: completely rewrite binder
Kenneth Graunke [Wed, 6 Jun 2018 18:59:17 +0000 (11:59 -0700)]
iris: completely rewrite binder

now we get a new one per batch, and flush if it fills up

5 years agoiris: better ubo handling
Kenneth Graunke [Wed, 6 Jun 2018 09:16:52 +0000 (02:16 -0700)]
iris: better ubo handling

5 years agoiris: fix import from dri2/3
Chris Wilson [Sat, 2 Jun 2018 11:32:19 +0000 (12:32 +0100)]
iris: fix import from dri2/3

5 years agoiris: fix constant packet length to match i965
Kenneth Graunke [Tue, 29 May 2018 14:32:43 +0000 (07:32 -0700)]
iris: fix constant packet length to match i965

5 years agoiris: maybe slightly less boats uniforms
Kenneth Graunke [Tue, 29 May 2018 04:28:36 +0000 (21:28 -0700)]
iris: maybe slightly less boats uniforms

5 years agoiris: flush always
Kenneth Graunke [Tue, 29 May 2018 03:28:08 +0000 (20:28 -0700)]
iris: flush always

5 years agoiris: transfers
Kenneth Graunke [Tue, 29 May 2018 00:14:43 +0000 (17:14 -0700)]
iris: transfers

5 years agoiris: util_copy_framebuffer_state (ported from Rob's v3d patches)
Kenneth Graunke [Mon, 21 May 2018 07:32:04 +0000 (00:32 -0700)]
iris: util_copy_framebuffer_state (ported from Rob's v3d patches)

5 years agoiris: fix VF INSTANCING length
Kenneth Graunke [Wed, 9 May 2018 07:35:14 +0000 (00:35 -0700)]
iris: fix VF INSTANCING length

5 years agoiris: more depth stuffs...
Kenneth Graunke [Wed, 9 May 2018 06:52:07 +0000 (23:52 -0700)]
iris: more depth stuffs...

still missing stencil

5 years agoiris: fix 3DSTATE_VERTEX_ELEMENTS length
Kenneth Graunke [Thu, 3 May 2018 05:26:03 +0000 (22:26 -0700)]
iris: fix 3DSTATE_VERTEX_ELEMENTS length

5 years agoiris: fix whitespace
Kenneth Graunke [Thu, 3 May 2018 05:14:05 +0000 (22:14 -0700)]
iris: fix whitespace

5 years agoiris: Lower the max number of decoded VBO lines
Kenneth Graunke [Thu, 3 May 2018 05:11:54 +0000 (22:11 -0700)]
iris: Lower the max number of decoded VBO lines

saint foo, vbo lines!

5 years agoiris: fix decoding and undo testing code
Kenneth Graunke [Thu, 3 May 2018 05:01:10 +0000 (22:01 -0700)]
iris: fix decoding and undo testing code

5 years agoiris: fix batch chaining...
Kenneth Graunke [Thu, 3 May 2018 04:52:34 +0000 (21:52 -0700)]
iris: fix batch chaining...

don't chain a batch just for the end

5 years agoiris: caps
Kenneth Graunke [Thu, 3 May 2018 04:52:26 +0000 (21:52 -0700)]
iris: caps

5 years agoiris: chaining not growing
Kenneth Graunke [Thu, 3 May 2018 02:54:23 +0000 (19:54 -0700)]
iris: chaining not growing

5 years agoiris: just turn batch reset_and_clear_caches into reset
Kenneth Graunke [Wed, 2 May 2018 21:28:27 +0000 (14:28 -0700)]
iris: just turn batch reset_and_clear_caches into reset

5 years agoiris: delete growing code and just die for now
Kenneth Graunke [Wed, 2 May 2018 17:44:46 +0000 (10:44 -0700)]
iris: delete growing code and just die for now

we need proper batch chaining.  without relocations, we can't grow,
since we've only allocated so much VMA for the batch, and the mechanism
only works if we can pin it at the old address

5 years agoiris: blorp bug fixes
Kenneth Graunke [Sat, 28 Apr 2018 23:55:54 +0000 (16:55 -0700)]
iris: blorp bug fixes

I wrote this earlier, but it got lost somehow...

5 years agoiris: properly reject formats, fixes RGB32 rendering with texture float
Kenneth Graunke [Fri, 27 Apr 2018 07:07:43 +0000 (00:07 -0700)]
iris: properly reject formats, fixes RGB32 rendering with texture float

5 years agoiris: proper # of uniforms
Kenneth Graunke [Fri, 27 Apr 2018 06:42:16 +0000 (23:42 -0700)]
iris: proper # of uniforms

or at least closer...we were using bytes, we want 256-bit units...

5 years agoiris: proper length for VE packet?
Kenneth Graunke [Fri, 27 Apr 2018 06:42:10 +0000 (23:42 -0700)]
iris: proper length for VE packet?

5 years agoiris: uniforms for VS
Kenneth Graunke [Thu, 26 Apr 2018 20:42:20 +0000 (13:42 -0700)]
iris: uniforms for VS

5 years agoiris: bump GL version to 4.2
Kenneth Graunke [Thu, 26 Apr 2018 06:47:06 +0000 (23:47 -0700)]
iris: bump GL version to 4.2

5 years agoiris: some depth stuff :(
Kenneth Graunke [Wed, 25 Apr 2018 22:25:33 +0000 (15:25 -0700)]
iris: some depth stuff :(

5 years agoiris: assert surf init
Kenneth Graunke [Wed, 25 Apr 2018 06:38:10 +0000 (23:38 -0700)]
iris: assert surf init

5 years agoiris: no more drawing rectangle in blorp
Kenneth Graunke [Tue, 24 Apr 2018 18:26:49 +0000 (11:26 -0700)]
iris: no more drawing rectangle in blorp

there's some bug here as Jason's patches for only emitting 3DS_DR once
got reverted by Mark later on, apparently they regressed MSAA tests.

need to sort that out.

5 years agoiris: blorp URB
Kenneth Graunke [Mon, 23 Apr 2018 20:26:06 +0000 (13:26 -0700)]
iris: blorp URB

5 years agoiris: make blorp pin the binder
Kenneth Graunke [Mon, 23 Apr 2018 18:01:00 +0000 (11:01 -0700)]
iris: make blorp pin the binder

5 years agoiris: linear staging buffers - fast CPU access...
Kenneth Graunke [Mon, 23 Apr 2018 04:44:46 +0000 (21:44 -0700)]
iris: linear staging buffers - fast CPU access...

5 years agoiris: hacky flushing for now
Kenneth Graunke [Mon, 23 Apr 2018 04:44:40 +0000 (21:44 -0700)]
iris: hacky flushing for now

5 years agoiris: drop the 48b printout, we never use anything else
Kenneth Graunke [Mon, 23 Apr 2018 04:31:07 +0000 (21:31 -0700)]
iris: drop the 48b printout, we never use anything else

5 years agoiris: add INTEL_DEBUG=reemit
Kenneth Graunke [Mon, 23 Apr 2018 04:29:43 +0000 (21:29 -0700)]
iris: add INTEL_DEBUG=reemit

5 years agoiris: fix blorp prog data crashes
Kenneth Graunke [Mon, 23 Apr 2018 04:25:51 +0000 (21:25 -0700)]
iris: fix blorp prog data crashes

5 years agoiris: more blorp
Kenneth Graunke [Sun, 22 Apr 2018 06:27:15 +0000 (23:27 -0700)]
iris: more blorp

5 years agoiris: fix sampler view crashes
Kenneth Graunke [Sun, 22 Apr 2018 05:44:04 +0000 (22:44 -0700)]
iris: fix sampler view crashes

5 years agoiris: drop bogus binder free
Kenneth Graunke [Sun, 22 Apr 2018 05:27:37 +0000 (22:27 -0700)]
iris: drop bogus binder free

I was malloc'ing it but then I changed my mind and embedded it directly

5 years agoiris: more blitting code to make readpixels work
Kenneth Graunke [Sun, 22 Apr 2018 05:20:32 +0000 (22:20 -0700)]
iris: more blitting code to make readpixels work

5 years agoiris: bits of blorp code
Kenneth Graunke [Sat, 21 Apr 2018 07:05:57 +0000 (00:05 -0700)]
iris: bits of blorp code

5 years agoiris: move bo_offset_from_sba
Kenneth Graunke [Sat, 21 Apr 2018 08:42:06 +0000 (01:42 -0700)]
iris: move bo_offset_from_sba

for wider use

5 years agoiris: copy over i965's cache tracking
Kenneth Graunke [Sat, 21 Apr 2018 06:28:03 +0000 (23:28 -0700)]
iris: copy over i965's cache tracking

needed to split out vtbl so I can pipe control without ice

5 years agoiris: pull in newer comments
Kenneth Graunke [Sat, 21 Apr 2018 01:45:25 +0000 (18:45 -0700)]
iris: pull in newer comments

5 years agoiris: Defines for base addresses rather than numbers everywhere
Kenneth Graunke [Sat, 21 Apr 2018 01:44:22 +0000 (18:44 -0700)]
iris: Defines for base addresses rather than numbers everywhere

5 years agoiris: Move get_command_space to iris_batch.c
Kenneth Graunke [Sat, 21 Apr 2018 00:42:07 +0000 (17:42 -0700)]
iris: Move get_command_space to iris_batch.c

for reuse in blorp.  it's a better interface anyway.

5 years agoiris: fix texturing!
Kenneth Graunke [Fri, 20 Apr 2018 02:33:22 +0000 (19:33 -0700)]
iris: fix texturing!

5 years agoiris: better SBE
Kenneth Graunke [Fri, 20 Apr 2018 02:04:17 +0000 (19:04 -0700)]
iris: better SBE

5 years agoiris: vma - fix assert
Kenneth Graunke [Thu, 19 Apr 2018 20:09:51 +0000 (13:09 -0700)]
iris: vma - fix assert

5 years agoiris: vma fixes - don't free binder address
Kenneth Graunke [Thu, 19 Apr 2018 20:08:37 +0000 (13:08 -0700)]
iris: vma fixes - don't free binder address

5 years agoiris: bo reuse
Kenneth Graunke [Thu, 19 Apr 2018 20:03:21 +0000 (13:03 -0700)]
iris: bo reuse

5 years agoiris: crazy pipe control code
Kenneth Graunke [Thu, 19 Apr 2018 19:52:51 +0000 (12:52 -0700)]
iris: crazy pipe control code

imported from ~kwg/mesa pcx-2, gen < 8 code dropped

5 years agoiris: fixes
Kenneth Graunke [Thu, 19 Apr 2018 19:07:44 +0000 (12:07 -0700)]
iris: fixes

5 years agoiris: fixes from i965
Kenneth Graunke [Thu, 19 Apr 2018 19:01:09 +0000 (12:01 -0700)]
iris: fixes from i965

5 years agoiris: port bug fix from i965
Kenneth Graunke [Tue, 10 Apr 2018 22:59:57 +0000 (15:59 -0700)]
iris: port bug fix from i965

5 years agoiris: fix index
Kenneth Graunke [Tue, 10 Apr 2018 07:39:27 +0000 (00:39 -0700)]
iris: fix index

5 years agoiris: increase allocator alignment
Kenneth Graunke [Tue, 10 Apr 2018 07:20:32 +0000 (00:20 -0700)]
iris: increase allocator alignment