Mesa (broadwell): 174 new commits
Kenneth Graunke
kwg at kemper.freedesktop.org
Tue Jan 21 08:29:07 UTC 2014
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a01aa4fe9bb77593e38f5b962cf46cef8516cc08
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Jan 21 00:06:36 2014 -0800
i965: Remove poorly implemented math hstride assertions.
I added this assertion in the last revision of the gen8_fs_generator
patch, and apparently didn't test it enough. Many Piglit tests fail
this test. The destination hstride is 1, while the source hstride and
vstride appear to be 0. This sounds like "scalar source" mode, which is
actually supported.
Cc: Eric Anholt <eric at anholt.net>
Cc: Matt Turner <mattst88 at gmail.com>
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c24ded15e0a48107ec765da716e274bcad8a99d7
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Jan 20 23:56:38 2014 -0800
stash - vp fixes?
doesn't seem to actually fix anything.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=412eb9635cb102463d81c124e40878b31e025aa9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Jan 20 23:06:30 2014 -0800
i965: Add missing sample shading bits to Gen8's 3DSTATE_PS_EXTRA.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b456b0bfabb022e012537b81c4705974ffc58e50
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Dec 30 22:07:20 2013 -0800
i965: Enable Broadwell support.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6faba751539398e6646d105b89a7daf9451b8227
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Nov 1 11:41:34 2013 -0700
i965: Add (disabled) Broadwell PCI IDs.
This puts the PCI IDs in place so it's easy to enable support. However,
it doesn't actually enable support since it's very preliminary still,
and a few crucial pieces (such as BLORP) are still missing.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=19900a8f44edbdbe1f92985e20b2cfbd4fe10df3
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Dec 6 03:07:54 2013 -0800
i965: Disable 3DSTATE_WM_HZ_OP fields.
We'll need to do better than this when we implement multisampling, HiZ,
or fast clears...but for now, this will do.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=32682721c29270951e3333626436609c611bb057
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 4 23:19:55 2013 -0800
i965: Update GS state for Broadwell.
This is quite similar to the Gen7 code. The main changes:
- 48-bit relocations
- Thread count is specified as U/2-1 instead of U-1.
- An extra DWord (DW9) with clip planes, URB entry output length/offsets
- We need to program the "Expected Vertex Count" (VerticesIn)
v2: Set the number of binding table entries so they can be prefetched
(requested by Eric Anholt).
v3: Add a WARN_ONCE for a missing workaround.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=69561fac744d8de25eaca3790562537780123785
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Dec 3 15:20:37 2012 -0800
i965: Update multisampling state for Broadwell.
On previous platforms, 3DSTATE_MULTISAMPLE contained the number of
samples, pixel location, and the positions of each sample within a pixel
for each multisampling mode (4x and 8x). It was also a non-pipelined
command, presumably since changing the sample positions is fairly
drastic.
Broadwell improves upon this by splitting the sample positions out into
a separate non-pipelined state packet, 3DSTATE_SAMPLE_PATTERN. With
that removed, 3DSTATE_MULTISAMPLE becomes a pipelined state packet.
Broadwell also supports 2x and 16x multisampling, in addition to the 4x
and 8x supported by Gen7. This patch, however, does not implement 2x
and 16x.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Signed-off-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=71d28b0d107064d663ef88816468487203647380
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Dec 14 03:58:30 2012 -0800
i965: Update 3DSTATE_{DEPTH,STENCIL,...}_BUFFER and such for Broadwell.
XXX: Can probably just merge this in with the Gen7 code...
not really many changes. OUT_RELOC64 and a few extra DWords (Qpitch)
XXX: lots of these parameters are garbage...
v2: Rebase on Paul's rename of NumLayers -> MaxNumLayers.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=207ee74427cbaf932e42259362b2e3c5ea7a58ce
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Dec 5 19:30:26 2012 -0800
i965: Update BLEND_STATE for Broadwell.
v2: Allow logic ops on all surface types. The UNORM restriction was
lifted with Haswell and I simply hadn't noticed. Also, add missing
BRW_NEW_STATE_BASE_ADDRESS dirty bit. Both caught by Eric Anholt.
v3: Fix swapped per-RT DWord pairs. Eliminates bizarre hacks.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7fedcdfeec336a81422b8eefa66a91ada3385c81
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Dec 5 15:34:34 2012 -0800
i965: Update SF_CLIP_VIEWPORT for Broadwell.
It has additional fields to support clipping to the viewport even if
guardband clipping is enabled.
v2: Update for viewport array changes.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce2aa041f6c97a69a083061990e6cd5a4edbb67d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Dec 4 16:39:03 2012 -0800
i965: Rework SURFACE_STATE entries for Broadwell.
v2: Add missing SCS setting in gen8_emit_buffer_surface_state (caught by
Eric Anholt).
v3: Use stored QPitch rather than recomputing it.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6488731b086dcbf663c90f077fbf4b4e2cd5d2dd
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Dec 4 14:45:19 2012 -0800
i965: Update SOL state for Broadwell.
Unlike on Gen7, we can directly set the offset via the state packet.
We also -have- to: the kernel SOL reset code won't work anymore.
v2: Fix copy and paste mistake in buffer stride setup; drop stale
comment (caught by Eric Anholt). Add a perf_debug for missing
MOCS setup.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2ac55e8f7cfe55af0c230348a59b206775366b60
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 28 21:39:19 2012 -0800
i965: Update the code that disables unused shader stages for Broadwell.
v2: Also disable 3DSTATE_WM_CHROMAKEY for safety.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net> [v1]
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=24b271df566616d30166a221ad9db9737572f181
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Nov 1 16:29:33 2013 -0700
i965: Update 3DSTATE_CLIP for Broadwell.
Broadwell's winding order, polygon fill, and viewport Z test fields have
moved to DWord 1 of 3DSTATE_RASTER.
v2: Add a perf_debug for a future optimization and improve commit
message (both suggested by Eric Anholt).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f5096fdb9a46ca20f0213e594ed97092a919477
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Dec 3 18:28:29 2012 -0800
i965: Rework vertex uploads for Broadwell.
v2: Emit a dummy 3DSTATE_VF_SGVS packet when not needed.
v3: Add WARN_ONCE and perf_debugs requested by Eric Anholt.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=60ed1d243c8a8f0f25fdce3bad179d052f775c0d
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Dec 3 13:53:40 2012 -0800
i965: Update STATE_BASE_ADDRESS for Broadwell.
v2: Fix missing "change" bit on instruction state base address
(caught by Haihao Xiang).
v3: Add a perf_debug for missing MOCS setup, requested by Eric.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1962f63d4bd94e9f5c7d695fceabbae1e946ddad
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Nov 29 21:00:27 2012 -0800
i965: Update 3DSTATE_PS, 3DSTATE_WM, and add 3DSTATE_PS_EXTRA.
v2: Fix setting of GEN8_PSX_ATTRIBUTE_ENABLE after rebases.
v3: Add missing binding table entry counts. Don't worry about alpha
testing or alpha to coverage when setting the "Kill Pixel" bit;
those are specified in 3DSTATE_PS_BLEND (caught by Eric Anholt).
Drop unused _NEW_BUFFERS. Tidy comments.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=15246e400a7fa86a0607859702975bb1d978b1e4
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Nov 29 01:10:19 2012 -0800
i965: Rework 3DSTATE_VS for Broadwell.
v2: Remove incorrect MOCS shifts; rename urb_entry_write_offset to
urb_entry_output_offset to closer match the documentation.
v3: Only emit a non-zero constant buffer read length when active.
v4: Add missing binding table counts (caught by Eric).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b1e23b3d961d15ebda6a391f5fa8a4828c9459bc
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Nov 29 18:43:59 2012 -0800
i965: Add the new 3DSTATE_PS_BLEND state packet.
v2: Only set GEN8_PS_BLEND_HAS_WRITEABLE_RT if color buffer writes are
enabled (caught by Eric Anholt).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a5f4c77d63518e72cd3cb1926d151f24be8a577f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Nov 29 17:52:31 2012 -0800
i965: Replace DEPTH_STENCIL_STATE with Gen8's 3DSTATE_WM_DEPTH_STENCIL.
v2: Use stencil->_WriteEnabled instead of setting
GEN8_WM_DS_STENCIL_BUFFER_WRITE_ENABLE twice (suggested by Eric).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e53a139656a92ad2a1db57730f5b4ba937c02ceb
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Fri Nov 1 14:37:33 2013 -0700
i965: Update SF, SBE, and RASTER state for Broadwell.
The attribute override portion of 3DSTATE_SBE was split out into
3DSTATE_SBE_SWIZ; various bits of 3DSTATE_SF were split out into
3DSTATE_RASTER.
v2: Set Force URB Read Offset bit. Eventually the URB read offset
should be set in 3DSTATE_VS, but that will require some refactoring.
v3: Rebase on viewport array changes.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2f91fe1387de012f3cad07ede1de63d22b23bc6
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Nov 29 01:50:22 2012 -0800
i965: Bump generation assertions on workaround flushes.
These workaround flushes may not be necessary on Gen8. Investigation is
needed. Tentatively, let's do them out of caution.
v2: [chadv]
- Comment that flush may not be needed.
- Make assertion conditions symmetrical.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce708e067055b0282d8c67640e53b216367315fd
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Nov 28 21:16:18 2012 -0800
i965: Duplicate gen7_atoms to gen8_atoms.
It's going to diverge significantly. Starting out with a copy allows
future patches to change atoms one by one.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c51c4c6d8d040d752514b9c7306e40740ae790eb
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Nov 5 16:55:06 2013 -0800
i965: Reserve space for "Vertex Count" in GS outputs.
v2: Also increment ir->offset in the GS visitor, rather than at the
final assembly generation stage (requested by Paul).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=94c0a11b199fb299ee1b2ea38154df5d5e621a64
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sat Jan 12 16:12:38 2013 -0800
i965: Update blitter code for 48-bit addresses.
v2: Rebase on Eric's SET_FIELD changes.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net> [v1]
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=23827756f3198054ba9c812b6294e5317871f223
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Dec 11 15:54:07 2013 -0800
i965: Update PIPE_CONTROL packet lengths for Broadwell.
On Broadwell, PIPE_CONTROL needs an extra DWord to accomodate the
48-bit addressing.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f7e76e00b6d476ad045a70db34908cce31e767fa
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Dec 12 00:44:11 2013 -0800
i965: Re-combine the Gen4-5 and Gen6+ write_depth_count functions.
Now that we have a helper function that handles the PIPE_CONTROL
variations between the various platforms, these are basically the same.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5dd608db2d6a67cfe27efed948408414a057fe3
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Jan 13 16:00:18 2014 -0800
i965: Create a helper function for emitting PIPE_CONTROL writes.
There are a lot of places that use PIPE_CONTROL to write a value to a
buffer (either an immediate write, TIMESTAMP, or PS_DEPTH_COUNT).
Creating a single function to do this seems convenient.
As part of this refactor, we now set the PPGTT/GTT selection bit
correctly on Gen7+. Previously, we set bit 2 of DW2 on all platforms.
This is correct for Sandybridge, but actually part of the address on
Ivybridge and later!
Broadwell will also increase the length of these packets by 1; with the
refactoring, we should have to adjust that in substantially fewer
places, giving us confidence that we've hit them all.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=35458a99c0940ec29503fa02134ec3ed9de363f9
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Dec 11 15:25:58 2013 -0800
i965: Use full-length PIPE_CONTROL packets for workaround writes.
I believe that PIPE_CONTROL uses the length field to decide whether to
do 32-bit or 64-bit writes. A length of 4 would do a 32-bit write,
while a length of 5 would do a 64-bit write. (I haven't verified this,
though.)
For workaround writes, we don't care what value gets written, or how
much data. We're only writing something because hardware bugs mandate
that do so. So using a 64-bit write should be fine.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b9e5c985c2d25c848c2c1e0d1ac1ef1124d8480
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Dec 11 15:22:26 2013 -0800
i965: Emit full-length PIPE_CONTROLs for (non-write) flushes.
The PIPE_CONTROL packet actually has 5 DWords on Gen6+:
1. Header
2. Flags
3. Address
4. Immediate Data: Lower DWord
5. Immediate Data: Upper DWord
We just never emitted the last one. While it appears to work, it's
probably safer to emit the entire thing.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9420b577ddeefe04c9812e9b62628e2f01be06cf
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Wed Dec 11 14:44:45 2013 -0800
i965: Create a helper function for emitting PIPE_CONTROL flushes.
These days, we need to emit PIPE_CONTROL flushes all over the place.
Being able to do that via a single function call seems convenient.
Broadwell will also increase the length of these packets by 1; with the
refactoring, we should have to do this in substantially fewer places.
v2: Add back forgotten intel_emit_post_sync_nonzero_flush (caught by
Eric Anholt). Drop unlikely() from BLT_RING check.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ded56746890ea826a32d763b2fe2af9a16755e87
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 18 10:10:07 2013 -0800
i965: Fix MI_STORE_REGISTER_MEM for Broadwell.
It now takes a 48-bit address.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f11c1feaf7a92d5109bcc86efaefec3a0193766a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Nov 4 16:55:26 2013 -0800
i965: Introduce an OUT_RELOC64 macro.
Broadwell uses 48-bit addresses. The first DWord is the low 32 bits,
and the second DWord is the high 16 bits.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=67ebcb4711d7c6d35df03298f065806613a62798
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Jan 13 14:32:56 2014 -0800
i965: Use the new drm_intel_bo offset64 field.
libdrm 2.4.52 introduces a new 'uint64_t offset64' field, intended to
replace the old 'unsigned long offset' field. To preserve ABI, libdrm
continues to store the presumed offset in both locations.
On Broadwell, a 64-bit kernel may place BOs at "high" (> 4G) addresses.
However, with a 32-bit userspace, the 'unsigned long offset' field will
only be 32-bit, which is not large enough to hold this value. We need
to use a proper uint64_t (like the kernel does).
Technically, a lot of this code doesn't affect Broadwell, so we could
leave it using the old field. But it makes sense to just switch to the
new, properly typed field.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=77425ef91ac2ee3696a303fd9fdb3abb1b6ee368
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Jan 20 10:46:53 2014 -0800
build: Require libdrm 2.4.52 for Intel.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5f4eed3575ef915f3ecf76b4aa831219ee748c4a
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Jan 13 15:01:35 2014 -0800
i965: Delete intel_batchbuffer_emit_reloc_fenced.
Nothing in i965 uses it.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4cd80119073fda0ebe5142a5f0fb92d25b769cb5
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Sun Dec 22 20:05:50 2013 -0800
i915: Silence warning: unused parameter warning in intel_bufferobj_buffer
intel_buffer_objects.c: In function 'old_intel_bufferobj_buffer':
intel_buffer_objects.c:471:17: warning: unused parameter 'flag' [-Wunused-parameter]
The parameter hasn't been used since the i915 and i965 drivers had their
breakup. i965 got the flags, and i915 got to cry itself to sleep.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8468f437e880a0eeed94d79650ecb9b680fdeb02
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Dec 20 12:58:41 2013 -0800
i915: Ensure that intel_bufferobj_map_range meets alignment guarantees
Not actually tested, but the changes are identical to the i965 changes
that are tested.
v2: Remove MAX2(64, ...). Suggested by Ken (in the i965 version of this
patch).
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Cc: Siavash Eliasi <siavashserver at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1ec663ab193e3dc87eb8729de4f0ecee7027961b
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Dec 20 12:42:33 2013 -0800
i965: Ensure that intel_bufferobj_map_range meets alignment guarantees
No piglit regressions on IVB.
With minor tweaks to the arb_map_buffer_alignment-map-invalidate-range
test (disable the extension check, set alignment to 64 instead of
querying), the i965 driver would fail the test without this patch (as
predicted by Eric). With this patch, it passes.
v2: Remove MAX2(64, ...). Suggested by Ken.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Cc: Siavash Eliasi <siavashserver at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2352a88ed6595f1138de23a96f3152cf7a76778
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Jan 10 16:07:55 2014 -0800
docs: Note that GL_ARB_viewport_array is done on i965
At least for GEN7+, anyway.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7837f425e7242bfc12f3d6d57d343609071ea6aa
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Wed Nov 13 13:15:19 2013 -0700
i965: Enable ARB_viewport_array
v2 (idr): Only enable the extension on GEN7+ w/core profile because it
requires geometry shaders.
v3 (idr): Add some casting to fix setting of ViewportBounds.Min.
Negating an unsigned value, then casting to float doesn't do what you
might think it does.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d3ee8ba3469a6c143f5817e35a5200e9c836de32
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Jan 8 12:14:49 2014 -0800
i965: Consider all viewports before enabling guardband clipping
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bdff9a6e47c42c0ba8cec2d8b5c5438c0068f874
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Jan 17 15:28:23 2014 -0800
i965: Consider only the scissor rectangle for viewport 0 for clears
noop_scissor (correctly) only examines the scissor rectangle for
viewport 0. Therefore, it should only be called when that scissor
rectangle is enabled.
v2: Remove spurious change to radeon code. Noticed by Ken.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=2c27f1d47a4e084022a689f333f4d91708840a0e
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Jan 8 12:14:11 2014 -0800
i965: Set all the supported scissor rectangles for GEN7
Currently MaxViewports is still 1, so this won't affect any change.
v2: Minor code reformatting suggested by Ken.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a2b946cb3516eb3fd475e6ed509b3f09eb36d4b6
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Jan 8 12:10:41 2014 -0800
mesa: Refactor bounding-box calculation out of _mesa_update_draw_buffer_bounds
Drivers that currently use _Xmin and friends to set their scissor
rectangle will need to use this code directly once they are updated for
GL_ARB_viewport_array.
v2: Use different bit-test idiom and fix mixed tabs and spaces. Both
were suggested by Ken.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d989c4b13429c5375303828ec5a20daf9f127753
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 22:50:02 2013 -0800
i965: Set all the supported viewports for GEN7
Currently MaxViewports is still 1, so this won't affect any change.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fceb8b55c078b07e71f862ac135c2c339ef53e98
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 12:19:23 2013 -0800
i965: Emit writes to viewport index
This variable is handled in a fashion identical to gl_Layer.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=37f65b07512c0291580811689f65bfcbcc489231
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Fri Jan 10 13:43:24 2014 -0800
i965: Set the maximum VPIndex
At various stages the hardware clamps the gl_ViewportIndex to these
values. Setting them to zero effectively makes gl_ViewportIndex be
ignored. This is acutally useful in blorp (so that we don't have to
modify all of the viewport / scissor state).
v2: Use INTEL_MASK to create GEN6_CLIP_MAX_VP_INDEX_MASK. Suggested by
Ken.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ef16befd0068544287c5f327a77fe8af6aee329
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Thu Nov 14 10:10:47 2013 -0700
mesa: Add ARB_viewport_array plumbing
Define API connections to extension entry points added in previous
commits. Update entry points to use floating point arguments as
required by the extension.
Add get tokens for ARB_viewport_array state.
v2: Include review feedback.
v3 (idr): Fix 'make check'. Add missing Get infrastructure (some was
culled from other pathces).
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c2eefb06aa3522920548046ee0c1be59428649ed
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Wed Nov 13 11:11:39 2013 -0700
glsl: Add gl_ViewportIndex built-in variable
v2 (idr): Fix copy-and-paste bug... s/LAYER/VIEWPORT/
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5439964270e966aa53a2c1f58969f23555bfa9ad
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Jan 8 08:32:03 2014 -0800
glsl: Add extension infrastructure for ARB_viewport_array
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3815264d7d07e8dd216674a32568daa55aeed680
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 12:18:43 2013 -0800
mesa: Add varying slot for viewport index
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=86231c4ab3ceb471b3d44978e7d56f167bafe34f
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Thu Nov 14 10:06:59 2013 -0700
mesa: Add new viewport and depth-range entry points for GL_ARB_viewport_array
v2 (idr): Use set_viewport_no_notify / set_depth_range_no_notify (and
manually notify the driver) instead of calling _mesa_set_viewporti /
_mesa_set_depthrangei. Refactor bodies of _mesa_ViewportIndexed and
_mesa_ViewportIndexedv into a shared function. Remove spurious CLAMP
calls in _mesa_DepthRangeArrayv and _mesa_DepthRangeIndexed.
v3 (idr): Add some missing return-statements after calls to _mesa_error.
v4 (idr): Only perform the ViewportBounds.Min / ViewportBounds.Max
clamping in set_viewport_no_notify if GL_ARB_viewport_array is enabled.
Otherwise the driver may not have set ViewportBounds, and the clamping
will do bad things.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0a7baa68a8559d7889c0b68adfcda53f4575ee98
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Tue Nov 12 12:58:40 2013 -0700
mesa: Add new scissor entry points for GL_ARB_viewport_array
v2 (idr): Use set_scissor_no_notify (and manually notify the driver)
instead of calling _mesa_set_scissori. Refactory bodies of
_mesa_ScissorIndexed and _mesa_ScissorIndexedv into a shared function.
Perform parameter validation in the same order in all three functions.
Pull MaxViewports comparison fix (in _mesa_ScissorArrayv) from the next
patch to this patch.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=917db0bc3dfdec1536018d96aab261e485b8d872
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Wed Nov 13 13:22:39 2013 -0700
mesa: Add custom get function for SCISSOR_TEST to _mesa_IsEnabledi
Now that the scissor enable state is a bitfield need a custom function
to extract the correct value from gl_context. Modeled
Scissor.EnableFlags after Color.BlendEnabled.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d9c0011a05a2137ca40fa9ed720520fcc29578f
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Wed Nov 13 13:25:32 2013 -0700
mesa: Add new get entrypoints for ARB_viewport_array
v2 (idr): Fix several "comparison between signed and unsigned integer
expressions" warnings.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a4bc73f7ba397c03d0d7a796597bd0fea114df91
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Jan 8 08:52:00 2014 -0800
mesa: Change parameter to _mesa_set_viewport to float
This matches the expectations of GL_ARB_viewport_array and the storage
type where the values will land.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=91ad85187682b16458c6bddbf98e79fa446bc947
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Thu Jan 9 15:44:58 2014 -0800
meta: Restore all scissor state
Previously the restore code would enable all scissor rectangles if any
scissor rectangles were enabled on entry to meta. When there is only
one scissor rectangle, this is fine. As soon as a driver supports
multiple viewports, this will be a problem.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6d3b1dc150e4bdd462b5320a072e509777ad386a
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Wed Nov 6 09:11:08 2013 -0800
mesa: Set all scissor rects
In _mesa_Scissor, make sure that ctx->Driver.Scissor is only called once
instead of once per scissor rectangle.
v2: Use MAX_VIEWPORTS instead of ctx->Const.MaxViewports because the
driver may not set ctx->Const.MaxViewports yet.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=454cec429969b7f09eeff17a5d1e7584d36f017f
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 22:40:38 2013 -0800
mesa: Set all viewports from _mesa_Viewport and _mesa_DepthRange
In _mesa_Viewport and _mesa_DepthRange, make sure that
ctx->Driver.Viewport is only called once instead of once per viewport or
depth range.
v2: Make _mesa_DepthRange actually set all of the depth ranges (instead
of just index 0). Noticed by Ken.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=562f353434878844e3aca4d75d049d5f17242aa8
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Jan 7 19:12:16 2014 -0800
mesa: Restore all the viewports in _mesa_PopAttrib
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=c65db3ebedf884568f9331d00b4759bee28102bb
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Jan 7 19:06:59 2014 -0800
mesa: Restore all the scissor rectangles in _mesa_PopAttrib
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9de863603d8092243df502365a75d65982223f0e
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 22:36:38 2013 -0800
mesa: Initialize all the viewports
v2: Use MAX_VIEWPORTS instead of ctx->Const.MaxViewports because the
driver may not set ctx->Const.MaxViewports yet.
v3: Handle all viewport entries in update_viewport_matrix and
_mesa_copy_context too. This was previously in an earlier patch.
Having the code in the earlier patch could cause _mesa_copy_context to
access a matrix that hadn't been constructed.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org> [v2]
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f6d7cd4a11e70b816733cff681dde7d03588d1c8
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Jan 7 19:06:17 2014 -0800
mesa: Add an index parameter to _mesa_set_scissor
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5232a7ded0c3a302ee0b551436b8f64a298d221c
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Mon Dec 9 11:54:41 2013 -0800
mesa: Refactor scissor rectangle setting even more
Create an internal function that just writes data into the scissor
rectangle. In future patches this will see more use because we only
want to call dd_function_table::Scissor once after setting all of the
scissor rectangles instead of once per scissor rectangle.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=799265aadcec6a7cf8918b5a8b4792016534b9c2
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 21:36:12 2013 -0800
mesa: Refactor viewport setting even more
Create an internal function that just writes data into the viewport. In
future patches this will see more use because we only want to call
dd_function_table::Viewport once after setting all of the viewport
instead of once per viewport.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=42f916e1507f2a5b3da002936418ffe91925104f
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 21:34:26 2013 -0800
mesa: Refactor depth range setting even more
Create an internal function that just writes data into the depth range.
In future patches this will see more use because we only want to call
dd_function_table::DepthRange once after setting all of the depth ranges
instead of once per depth range.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3eb135d1c72487619ec4ba2338a90b73c7bcda0d
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Jan 7 16:57:11 2014 -0800
mesa: Add an index parameter to _mesa_set_viewport
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=cbb271a48845c2d236f31327df316d42888a1907
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Wed Nov 13 16:24:56 2013 -0700
mesa: Convert gl_context::Viewport to gl_context::ViewportArray
Only element 0 of the array is used anywhere at this time, so there
should be no changes.
v4: Split out from a single megapatch. Suggested by Ken.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5b84226c31e941219422f6d60c31524081b7a188
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Wed Nov 13 16:24:56 2013 -0700
mesa: Converty gl_viewport_attrib::X, ::Y, ::Width, and ::Height to float
v4: Split out from a single megapatch. Suggested by Ken. Also make
meta's save_state::ViewportX, ::ViewportY, ::ViewportW, and ::ViewportH
to match gl_viewport_attrib.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d4dc359875126c432e46e3d1da8610a066d21302
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Wed Nov 13 16:24:56 2013 -0700
mesa: Convert gl_viewport_attrib::Near and ::Far to double
v4: Split out from a single megapatch. Suggested by Ken.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e60d85029105ffdfd325186813b65232c5d2725
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Wed Nov 13 16:24:56 2013 -0700
mesa: Allow glGet of values that are 2 doubles
This will be used when the viewport near and far plane are stored as
doubles instead of as floats.
v4 (idr): Split out from a single megapatch. Suggested by Ken. Also
drop value_double_4. It's never used anywhere in the patch series.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=83bd850cc7f83c87fa271d6d501db86fae698f9a
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 15:36:13 2013 -0800
mesa: Move parameter validation from _mesa_set_viewport to _mesa_Viewport
Internal callers should do the right thing.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a9c73fb778a41b422a811c67b4aba806d4dfb7c8
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Wed Nov 13 14:02:12 2013 -0700
mesa: Update gl_scissor_attrib to support ARB_viewport_array
Update Mesa and drivers to access updated gl_scissor_attrib.
Now have an enable bitfield and array of gl_scissor_rects.
Drivers have been updated to the new scissor enable state
attribute (gl_context.scissor.EnableFlags) but still treat it
as a single boolean which is okay as mesa will only use
bit 0 when communicating with a driver that does not support
ARB_viewport_array.
v2 (idr): Rebase fixes.
v3 (idr): Small code formatting fix suggsted by Ken.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1f59e963b40a260d3087f83799de0a6fb0941d07
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Jan 7 14:39:48 2014 -0800
mesa: Add new constants related to GL_ARB_viewport_array
These limits will be queryable by GL_MAX_VIEWPORTS,
GL_VIEWPORT_SUBPIXEL_BITS, and GL_VIEWPORT_BOUNDS_RANGE. Drivers that
actually implement the extension must set values for these constants
that comply with the minimum-maximums from the spec.
Most of these changes were part of other patches. They were separated out
because it make reordering of later patches easier. Also, MaxViewports wasn't
set by that patch, and I completely overlooked it in review. It's now obvious
that it's set. :)
v2 (idr): Split these changes out from the original patches. Keep
MaxViewportWidth and MaxViewportHeight as GLuint.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b39bfa4f492fc88dc053a098893b0441f8aed496
Author: Courtney Goeltzenleuchter <courtney at LunarG.com>
Date: Tue Nov 19 18:31:24 2013 -0700
mesa: Add extension tracking bit for ARB_viewport_array
v2 (idr): Split these changes out from the original patch. Only
advertise GL_ARB_viewport_array in a core profile because it requires
geometry shaders.
Signed-off-by: Courtney Goeltzenleuchter <courtney at LunarG.com>
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6b6ab51d4683aff9b8283010da376ccf636d083
Author: Brian Paul <brianp at vmware.com>
Date: Mon Jan 20 11:01:48 2014 -0800
draw: use some cast wrappers in draw_pt_fetch_shade_pipeline*.c
Trivial.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=807cbb9023a6baf9733026cfb893be202f116269
Author: Brian Paul <brianp at vmware.com>
Date: Mon Jan 20 11:00:32 2014 -0800
draw: whitespace and formatting fixes in draw_pt_fetch_shade_pipeline*.c
Trivial.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad814d04ca5d579538885a595331b5b27caefd2a
Author: Brian Paul <brianp at vmware.com>
Date: Mon Jan 20 10:57:20 2014 -0800
draw: fix incorrect vertex size computation in LLVM drawing code
We were calling draw_total_vs_outputs() too early. The call to
draw_pt_emit_prepare() could result in the vertex size changing.
So call draw_total_vs_outputs() after draw_pt_emit_prepare().
This fix would seem to be needed for the non-LLVM code as well,
but it's not obvious. Instead, I added an assertion there to
try to catch this problem if it were to occur there.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=72926
Cc: 10.0 <mesa-stable at lists.freedesktop.org>
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3a4255148b85d7f92b9485a03861ce1562787de6
Author: Brian Paul <brianp at vmware.com>
Date: Tue Jan 14 17:34:22 2014 -0800
docs: note reduced display list memory usage in 10.1 relnotes
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c0368abb9474d092e33f79773bfbb457d4d9edd
Author: Roland Scheidegger <sroland at vmware.com>
Date: Fri Jan 17 19:39:19 2014 +0100
draw: clean up d3d style point clipping
Instead of skipping x/y clipping completely if there's point_tri_clip points
use guard band clipping. This should be easier (previously we could not disable
generating the x/y bits in the clip mask for llvm path, hence requiring custom
clip path), and it also allows us to enable this for tris-as-points more easily
too (this would require custom tri clip filtering too otherwise). Moreover,
some unexpected things could have happen if there's a NaN or just a huge number
in some tri-turned-point, as the driver's rasterizer would need to deal with it
and that might well lead to undefined behavior in typical rasterizers (which
need to convert these numbers to fixed point). Using a guardband should hence
be more robust, while "usually" guaranteeing the same results. (Only "usually"
because unlike hw guardbands draw guardband is always just twice the vp size,
hence small vp but large points could still lead to different results.)
Unfortunately because the clipmask generated is completely unaffected by guard
band clipping, we still need a custom clip stage for points (but not for tris,
as the actual clipping there takes guard band into account).
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=799abb271a248f646faa5cc859968f8c71e1ef16
Author: Brian Paul <brianp at vmware.com>
Date: Mon Jan 20 08:06:35 2014 -0800
swrast: check for null/-1 when mapping renderbuffers
Fixes fbo-drawbuffers-none crash (but test still fails).
https://bugs.freedesktop.org/show_bug.cgi?id=73757
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3ede8dd5f1096531a080bac6f17f2512bea7bbce
Author: Brian Paul <brianp at vmware.com>
Date: Mon Jan 20 07:59:25 2014 -0800
softpipe: fix crash when accessing null colorbuffer
Fixes piglit fbo-missing-attachment-blit test.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73755
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=33ae0c24d045e7b5e210785cb9f6a36483fec941
Author: Brian Paul <brianp at vmware.com>
Date: Mon Jan 20 07:51:25 2014 -0800
st/vdpau: s/surface/resource/ to fix compiler warning
Reviewed-by: Christian König <christian.koenig at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a1e528a0f083f08ac32e2418cb5068ef0c21ccaf
Author: José Fonseca <jfonseca at vmware.com>
Date: Mon Jan 20 14:15:04 2014 +0000
i915,r200,radeon,vega: Change vendor from "VMware, Inc." to "Mesa Project".
These are components which were originally developed by Tungsten Graphics,
which was in turn acquired by VMware, but are de facto now being maintained
by third-party contributors of the Mesa open-source community.
This matches what's reported by swrast driver and a few other components.
Suggested by Ian Romanick.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f0c2662b126c90912c9b8adf6c3be07024dfe69e
Author: José Fonseca <jfonseca at vmware.com>
Date: Mon Jan 20 13:58:11 2014 +0000
logger: Remove unused variable.
Silences gcc "unused variable ‘buf’" warning.
Trivial.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d43260b59e1db8261bf581f5316d7634b7102ff6
Author: José Fonseca <jfonseca at vmware.com>
Date: Mon Jan 20 13:57:12 2014 +0000
logger: s/\<log\>/log_/
Currently the MSVC build is broken because of conflicting definitions of
'log' function. I didn't investigate thoroughly, but I suspect the
it is conflicting standard math.h's log.
log_ is admittedly not a great name, but it is better than a broken build.
A better one can be used in a follow-on build.
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9ab553cf528a78931dfac404ef08f0c6cf881c30
Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date: Fri Dec 20 11:12:31 2013 +0200
i965/blorp: reduce the scope of the explicit compression control
By highlighting these special cases makes it clearer to switch
to the fs-generator as the wider scoped compression control
settings used in the current implementation can be simply
dropped.
No regressions on IVB (piglit quick + unit tests).
v2 (Ian): typo in a comment
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d0f63b37577636bf154a303d9aae69f644f6c3ef
Author: Topi Pohjolainen <topi.pohjolainen at intel.com>
Date: Thu Dec 12 18:32:10 2013 +0200
i965/blorp: remove dependency to compression control state
Effectively only the mask control bit gets altered for the single
addition in question and hence there is no real need to use a
fresh state control level for it -- that is more useful when
multiple intructions share the same mask and compression settings.
This is a preparation step for removing the explicit compression
control modifiers in the blit compiler. After this patch there
are no nested state control levels making the constant nature of
the compression settings more apparent.
No regressions on IVB (piglit quick + unit tests).
v2 (Matt, Ian): use temporary variable instead of assigning
directly on the same line with a function call.
Signed-off-by: Topi Pohjolainen <topi.pohjolainen at intel.com>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=05da4a7a5e7d5bd988cb31f94ed8e1f053d9ee39
Author: Kristian Høgsberg <krh at bitplanet.net>
Date: Fri Jan 17 16:55:31 2014 -0800
i965: Only update renderbuffers on initial intelMakeCurrent
We call intel_prepare_render() in intelMakeCurrent() to make sure we have
renderbuffers before calling _mesa_make_current(). The only reason we
do this is so that we can have valid defaults for width and height.
If we already have buffers for the drawable we're making current, we
don't need this step.
In itself, this is a small optimization, but it also avoids a round trip
that could block on the display server in a unexpected place.
https://bugs.freedesktop.org/show_bug.cgi?id=72540
https://bugs.freedesktop.org/show_bug.cgi?id=72612
Signed-off-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f5788e042afbb93e693885e90609d552674f9bd2
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Fri Jan 17 22:33:47 2014 -0500
st/vdpau: check surface params before creating surfaces
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Christian König <christian.koenig at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=813ce219c87bd40ebee1cd170b792e11971cb01d
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Fri Jan 17 22:25:34 2014 -0500
st/vdpau: fix bogus error handling in output/bitmap creation
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Christian König <christian.koenig at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=00e4314f6d605e467b9a386cacab7eec48b9e429
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Fri Jan 17 21:41:38 2014 -0500
st/vdpau: don't return a device if the screen doesn't support NPOT
NV3x cards don't support NPOT textures. Technically this restriction
could be worked around, but since it also doesn't expose any video
decoding hw, just turn it off entirely.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Cc: 10.0 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Christian König <christian.koenig at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ad3c99e22a688b7c3f15894aabbedcc5cd89230b
Author: Armin K <krejzi at email.com>
Date: Sun Jan 19 15:09:33 2014 +0100
pipe-loader: Fix build
pipe_loader_drm.c: In function 'pipe_loader_drm_probe_fd':
pipe_loader_drm.c:120:4: error: implicit declaration of function 'loader_get_pci_id_for_fd' [-Werror=implicit-function-declaration]
Reviewed-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=26d380da69d3fc3a4ced291028c105c0ac0f1a92
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sun Jan 19 03:09:03 2014 +0000
loader: ifdef libdrm specific code and include
Mesa provides the flexibility of building without the
need to have libdrm present on the system. The situation
has regressed with the recent commit
commit 8c2e7fd8460750543367053b1be9368cc38e1d6a
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Fri Jan 10 23:36:16 2014 +0000
loader: introduce the loader util lib
By isolating libdrm code by #ifndef __NOT_HAVE_DRM_H we
can have libdrm-less builds on across all build systems.
This patch converts Android's _EGL_NO_DRM to __NOT_HAVE_DRM_H
to provide consistency with the other cases within mesa, allows
compilation of libloader on libdrm-less scons and conditionally
links against libdrm if present under automake.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73776
BUgzilla: https://bugs.freedesktop.org/show_bug.cgi?id=73777
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a33d1339d5bfb32377be92957a493f0e3d84b31e
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Dec 4 11:39:14 2012 -0800
i965: Double the push constant space multipliers on Broadwell too.
Broadwell has 2Kb push constant size increments like Haswell GT3.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4c6a1d380abdfc85c2862f62719fa3c98c97f7ba
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Dec 3 15:28:39 2012 -0800
i965: Update invariant state for Broadwell.
The only difference is that STATE_SIP takes a 48-bit address, so we need
to output two zeroes.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=37e9b5e305917886566a9ba1b1e9f6a578dd3d4f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Nov 29 01:30:01 2012 -0800
i965: Use the Sandybridge VUE format on Broadwell as well.
It hasn't changed.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Chad Versace <chad.versace at linux.intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=11f6882e1daf73cead8bc9febe5e29ada98f4add
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Dec 6 22:38:26 2012 -0800
i965: Create a new fragment shader backend for Broadwell.
This replaces the old fs_generator backend.
v2: Port to the C-based representation of assembly instructions.
Fix texturing after the texture-grf merge.
v3: Add high quality derivative support. Fix SET_SIMD4X2_OFFSET.
v4: Pass brw_context to gen8_instruction functions as required.
v5: Fixes for MRT, as well as zero render targets (alpha test only).
v6: Replace n-wide with SIMDn in comments and messages; port over
Topi's blorp-generator changes; add missing TXF_MCS opcode,
fix missing high quality derivatives for DDX; fix typo (all caught
by Eric). Simplify ADDC/SUBB handling; drop "Used only on Gen6+"
comment (caught by Matt). Emit SIMD16 versions of three source
instructions (caught by both Eric and Matt).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9eb568d7531eb4715be24d5076353ea6c10c8ceb
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Dec 6 22:37:34 2012 -0800
i965: Create a new vec4 backend for Broadwell.
This replaces the old vec4_generator backend.
v2: Port to use the C-based instruction representation. Also, remove
Geometry Shader offset hacks - the visitor will handle those instead
of this code.
v3: Texturing fixes (including adding textureGather support).
v4: Pass brw_context to gen8_instruction functions as required.
v5: Add SHADER_OPCODE_TXF_MCS support; port DUAL_INSTANCED gs fixes
(caught by Eric). Simplify ADDC/SUBB handling; add comments to
gen8_set_dp_message calls (suggested by Matt).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f8035ba0363a8726fcd95ae761fbd31b3d5b41d4
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Dec 6 22:36:50 2012 -0800
i965: Add a new infrastructure for generating Broadwell shader assembly.
This replaces the brw_eu_emit.c layer for Broadwell. It will be
used by both the vector and scalar shader backends.
v2: Port to use the C-based instruction representation.
v3: Fix destination register type for CMP.
v4: Pass brw to gen8_instruction functions (required by rebase).
v5: Remove bogus assertion on math instructions (caught by Piglit).
v6: Remove more restrictions on math instructions (caught by Eric).
Make ADDC and SUBB helpers set accumulator writes, like MAC and
MACH (caught by Matt).
v7: Don't implicitly force ALU3 operations to SIMD8 (we've been able
to do SIMD16 versions since Haswell, but didn't when I originally
wrote this code).
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8ea4b16eea05cddc0c0057d8ff7e84f97a9361f8
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Tue Dec 11 00:26:11 2012 -0800
i965: Implement a disassembler for Broadwell's new instruction encoding.
Heavily based on Keith Packard's existing brw_disasm.c code. I've tried
to go through most of the pieces (like SFIDs) and update the lists to
include features added in recent generations.
v2: Port to use the C-based instruction emitters. This allows us to use
C99 array initializers, which tidies up some of the code.
v3: Improve decoding of render target write messages.
v4: Update for BRW_REGISTER_TYPE becoming an abstraction.
v5: Rebase on Chris Forbes' SFID message defines.
v6: Fix disassembly of UV immediates; remove silly casts.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Acked-by: Matt Turner <mattst88 at gmail.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0923dad90a3859d4136d483f3038fda9f616d1a8
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Thu Dec 6 22:36:26 2012 -0800
i965: Add a new representation for Broadwell shader instructions.
Broadwell significantly changes the EU instruction encoding. Many of
the fields got moved to different bit positions; some even got split
in two.
With so many changes, it was infeasible to continue using struct
brw_instruction. We needed a new representation.
This new approach is a bit different: rather than a struct, I created a
class that has four DWords, and helper functions that read/write various
bits. This has several advantages:
1. We can create several different names for the same bits. For
example, conditional modifiers, SFID for SEND instructions, and the
MATH instruction's function opcode are all stored in bits 27:24.
In each situation, we can use the appropriate setter function:
set_sfid(), set_math_function(), or set_cond_modifier(). This
is much easier to follow.
2. Since the fields are expressed using the original 128-bit numbers,
the code to create the getter/setter functions follows the table in
the documentation very closely.
To aid in debugging, I've enabled -fkeep-inline-functions when building
gen8_instruction.c. Otherwise, these functions cannot be called by
gdb, making it insanely difficult to print out anything.
Kenneth Graunke wrote most of this code. Damien Lespiau ported it to
C99. Xiang Haihao added media fields. Zhao Yakui added indirect
addressing support. Eric Anholt added an assertion to make sure that
values fit in the alloted number of bits.
v2: Update for brw_reg_type_to_hw_type(), which necessitates passing
brw_context pointers around everywhere.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Signed-off-by: Damien Lespiau <damien.lespiau at intel.com>
Signed-off-by: Xiang, Haihao <haihao.xiang at intel.com>
Signed-off-by: Zhao Yakui <yakui.zhao at intel.com>
Reviewed-by: Eric Anholt <eric at anholt.net>
Acked-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=f4cf231cac17fa7e600ba9cbb033d41543cb4f3f
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sun Dec 8 16:35:36 2013 -0800
i965: Add SFID #defines for media stuff.
While we probably won't ever use these, having them makes it easy to
share disassembler code between intel-gpu-tools and Mesa.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9e7da0c71678a57c06a988c82b2c4ce07723c416
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Sun Dec 8 16:33:19 2013 -0800
i965: Add #defines for new Broadwell math functions.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=45607b5c5ffaa52bffa36993a7d618d71e93304c
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Sun Nov 17 19:32:49 2013 +1300
i965: add struct and SFID for pixel interpolator messages
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=566e0ddfd01dbadd75462fed5a3f141b9f494028
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Thu Jan 9 10:01:13 2014 +1300
i965/Gen7: Only emit cube face enables for cubes.
This is not observed to actually fix anything, but the PRM says this
field must be zero for other surface types.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=b0042f2c234a0dd9e9387a2dc79155f3f2fd9463
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Thu Jan 9 09:58:12 2014 +1300
i965: Improve dumping of Gen7 SURFACE_STATE
Previously this was missing many interesting fields. Having them decoded
makes debugging views much easier.
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=9b5eda85448fde9d923d33c73888dd9ac23289c4
Author: Chris Forbes <chrisf at ijw.co.nz>
Date: Thu Jan 9 09:56:16 2014 +1300
i965: Add masks for more SURFACE_STATE fields
Signed-off-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Reviewed-by: Jordan Justen <jordan.l.justen at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=66fd5057d3ee1b3a7bce484eb0856b318a8ae4a4
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Thu Jan 16 17:36:43 2014 +0000
nv50: drop obsolete check from error path
At 'out_err' the nv50_context has been calloc-ated.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e1e30f6dfb52b5c59ed551f13316bce0c039de79
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Thu Jan 16 17:34:31 2014 +0000
nv50: assert before trying to out-of-bounds access framebuffer.cbufs
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3805a864b1df00ddb6053f616435326f31007663
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Thu Jan 16 17:29:42 2014 +0000
nv50: assert before trying to out-of-bounds access samplers
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6a53b81086bd80ad5a5e79939e0aeb208253026a
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Thu Jan 16 17:08:19 2014 +0000
nv50: assert before trying to out-of-bounds access textures
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=19069803bed95e64bf43185e7f02550ebbf92dde
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Thu Jan 16 16:55:52 2014 +0000
nv50: pass vtxbuf index as unsigned
The index passed to the function is already unsigned, and internally
we threat it as unsigned.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1773611c526844cecee84dd8c8241f888666aa1c
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Thu Jan 16 16:53:45 2014 +0000
nv50: assert before trying to out-of-bounds access vtxbuf
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=741e935a72b57cba2999239ce6d2bd3744214376
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Thu Jan 16 16:42:45 2014 +0000
nv50: typecast the result of ffs() to unsigned
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5e130f237173a9fc241d7df4d989d046206ba3b2
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Thu Jan 16 16:35:27 2014 +0000
nv50: assert before trying to out-of-bounds access constbuf
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=12e744abbb9fd8cb07a12954aaa7127521d5af0a
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Thu Jan 16 15:37:53 2014 +0000
nv50: access only the available amount of constbuf
The textures array is defined as a number of NV50_MAX_PIPE_CONSTBUFS
per shader stage. Currently the nv50 driver handles only 3 shader
stages, thus we wreck chaos when accessing array-out-of-bounds.
Cc: 9.1 9.2 10.0 <mesa-stable at lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d606ca37eb20f18d8ac4727c68831fcecb2f7de4
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Thu Jan 16 15:35:02 2014 +0000
nv50: access only the available amount of textures
The textures array is defined as a number of PIPE_MAX_SAMPLERS per shader stage.
Currently nv50 driver handles only 3 shader stages, thus we wreck chaos when
accessing array-out-of-bounds.
Fixes a segfault in piglit/bin/arb_texture_buffer_object-data-sync -fbo -auto
Cc: 9.1 9.2 10.0 <mesa-stable at lists.freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf70c238a72021d61e1464ecc31932c47b7003cc
Author: Rob Clark <robclark at freedesktop.org>
Date: Sat Dec 14 14:28:33 2013 -0500
loader: fallback to drmGetVersion() for non-pci devices
Use the kernel driver name are returned by drmGetVersion() for
non-pci(platform) devices.
Signed-off-by: Rob Clark <robclark at freedesktop.org>
v2 (Emil): Rebased and weaked commit message.
Reviewed-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=26458420d8802a765cf71c75ef9f3b6da6bdfd8d
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Jan 11 05:19:36 2014 +0000
pipe-loader: add support for non-pci (platform) devices
Culled out of the "loader: refactor duplicated code into loader util lib"
patch by Rob Clark.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3d3ae75c86f9ed47d86e471e4043827bb7731e92
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Jan 11 05:16:06 2014 +0000
pci_ids: no not include loader.h
As per original approach by Rob, each user of the loader lib should include
loader.h and the pci_id_driver_map.h header will be used exclusively by the
loader.
Add back the include guard __IS_LOADER and remove no longer needed include
folder in the scons build.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8d4357b5ba9e224ffe02e2457a2f4ffe2915f608
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Jan 11 04:52:48 2014 +0000
egl_dri2: use loader util lib
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a0a1c60fb0137804e6abf403898468fe103ec382
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Jan 11 04:28:24 2014 +0000
pipe-loader: use loader util lib
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0e78c3523427190d649b02f586a6554889d74c2f
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Jan 11 04:06:45 2014 +0000
st/egl: use loader util lib
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a9800242244098fddcd2b963d8f5ccda5dea8290
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Jan 11 03:12:40 2014 +0000
egl-static: use loader util lib
v2
* Drop the no longer used _EGL_NO_DRM from Android.mk.
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fae0dfa59b3111fecc7b8de8493eaaee165a102a
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Jan 11 02:50:08 2014 +0000
gbm: use the loader util lib
Additionally this commit removes the following exported functions
_gbm_udev_device_new_from_fd()
_gbm_fd_get_device_name()
_gbm_log()
All three were erroneously marked as exported since their inception.
Neither of them has ever been a part of the API thus there should be
no users of them.
Cc: Chad Versace <chad.versace at linux.intel.com>
Cc: Kristian Høgsberg <krh at bitplanet.net>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eac776cf779b705cbfb8d41812f1d171fb09c76f
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sat Jan 11 02:24:43 2014 +0000
glx: use the loader util lib
v2
* Set logger to ErrorMessageF. Spotted by Kristian
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=8c2e7fd8460750543367053b1be9368cc38e1d6a
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Fri Jan 10 23:36:16 2014 +0000
loader: introduce the loader util lib
All the various window system integration layers duplicate roughly the
same code for figuring out device and driver name, pci-id's, etc. Which
is sad. So extract it out into a loader util lib.
v2 (Emil)
* Separate the introduction of libloader from the code de-duplication.
* Strip out non-pci devices support.
* Add scons + Android build system support.
* Add VISIBILITY_CFLAGS to avoid exporting the loader funcs.
v3 (Emil)
* PIPE_OS_ANDROID is undefined at this scope, use ANDROID
* Make sure we define _EGL_NO_DRM when building only swrast
Signed-off-by: Rob Clark <robclark at freedesktop.org>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
Reviewed-by: Rob Clark <robdclark at gmail.com>
Reviewed-by: Kristian Høgsberg <krh at bitplanet.net>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=1c5e2965a0de296240dd8f5af12482164416b7f1
Author: Kenneth Graunke <kenneth at whitecape.org>
Date: Mon Aug 26 13:11:21 2013 -0700
i965: Remove CACHED_BATCH support altogether.
Using an unoptimized variant of glamor spending 50% of its CPU time in
brw_draw_prims() (and hitting the cache *very* frequently):
N Min Max Median Avg Stddev
x 200 29200 40500 34900 34750 958.43256
+ 200 31000 40300 34700 34622 916.35941
No difference proven at 95.0% confidence
Similarly, no difference on GLB2.7:
N Min Max Median Avg Stddev
x 63 64.1 71.36 70.69 70.113175 1.6782026
+ 63 63.6 71.18 70.75 70.223651 1.6044186
No difference proven at 95.0% confidence
v2: Rebase on master (by anholt)
v3: Add a missing BEGIN_BATCH(3) to aa_line_parameters -- CACHED_BATCH
didn't have the asserts about batchbuffer usage that ADVANCE_BATCH
does, so we started assertion failing.
Signed-off-by: Kenneth Graunke <kenneth at whitecape.org>
Signed-off-by: Eric Anholt <eric at anholt.net>
Reviewed-by: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=746e3e3b3ad20a29ee6de64d663d2dc11deac06e
Author: Eric Anholt <eric at anholt.net>
Date: Tue Nov 12 15:33:27 2013 -0800
i965: Replace 8-wide and 16-wide with SIMD8 and SIMD16.
Those are the terms used in the docs, and think "n-wide" was something I
just happened to say. Note that shader-db needs updating for the
INTEL_DEBUG=fs parsing.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=26a3bf5c726199d7664d5878ef1f73592e55caa7
Author: Eric Anholt <eric at anholt.net>
Date: Thu Nov 28 00:48:57 2013 -0800
i965: Stop doing our optimization on a copy of the GLSL IR.
The original intent was that we'd keep a driver-private copy, and there
would be the normal copy for swrast to make use of without the tuning (or
anything more invasive we might do) specific to i965. Only, we don't
generate swrast code any more, because swrast can't render current shaders
anyway. Thus, our private copy is rather a waste, and we can just do our
backend-specific operations on the linked shader.
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=877128505431adaf817dc8069172ebe4a1cdf5d8
Author: José Fonseca <jfonseca at vmware.com>
Date: Fri Jan 17 16:27:50 2014 +0000
s/Tungsten Graphics/VMware/
Tungsten Graphics Inc. was acquired by VMware Inc. in 2008. Leaving the
old copyright name is creating unnecessary confusion, hence this change.
This was the sed script I used:
$ cat tg2vmw.sed
# Run as:
#
# git reset --hard HEAD && find include scons src -type f -not -name 'sed*' -print0 | xargs -0 sed -i -f tg2vmw.sed
#
# Rename copyrights
s/Tungsten Gra\(ph\|hp\)ics,\? [iI]nc\.\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./g
/Copyright/s/Tungsten Graphics\(,\? [iI]nc\.\)\?\(, Cedar Park\)\?\(, Austin\)\?\(, \(Texas\|TX\)\)\?\.\?/VMware, Inc./
s/TUNGSTEN GRAPHICS/VMWARE/g
# Rename emails
s/alanh at tungstengraphics.com/alanh at vmware.com/
s/jens at tungstengraphics.com/jowen at vmware.com/g
s/jrfonseca-at-tungstengraphics-dot-com/jfonseca-at-vmware-dot-com/
s/jrfonseca\?@tungstengraphics.com/jfonseca at vmware.com/g
s/keithw\?@tungstengraphics.com/keithw at vmware.com/g
s/michel at tungstengraphics.com/daenzer at vmware.com/g
s/thomas-at-tungstengraphics-dot-com/thellstom-at-vmware-dot-com/
s/zack at tungstengraphics.com/zackr at vmware.com/
# Remove dead links
s at Tungsten Graphics (http://www.tungstengraphics.com)@Tungsten Graphics at g
# C string src/gallium/state_trackers/vega/api_misc.c
s/"Tungsten Graphics, Inc"/"VMware, Inc"/
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=27307a73e561a63753d1f5573e0380694225345c
Author: José Fonseca <jfonseca at vmware.com>
Date: Fri Jan 17 16:15:18 2014 +0000
trace: Re-license trace.xsl under MIT license.
I was the sole author, as Tungsten Graphics employee, which was since
then acquired by VMware Inc.
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3618ac4f202138079024ea6ed2cf7e2ef5463066
Author: Brian Paul <brianp at vmware.com>
Date: Thu Jan 16 13:53:27 2014 -0800
svga: fix crash when clearing null color buffer
Fixes regression since 9baa45f78b8ca7d66280e36009b6a685055d7cd6
but some of the piglit fbo-drawbuffers-none tests still don't
pass.
v2: use the right pointer type for 'h'
Reviewed-by: José Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d6fa71fbb0d365cefdabfea9de62cfece71f7486
Author: Brian Paul <brianp at vmware.com>
Date: Wed Jan 15 18:09:56 2014 -0800
llvmpipe: handle NULL color buffer pointers
Fixes regression from 9baa45f78b8ca7d66280e36009b6a685055d7cd6
v2: incorporate a few small changes suggested by Roland.
Reviewed-by: José Fonseca <jfonseca at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7b4ceec0b7591fa7a2dd66c45727341f52bf5258
Author: Brian Paul <brianp at vmware.com>
Date: Wed Jan 15 17:24:02 2014 -0800
softpipe: handle NULL color buffer pointers
Fixes regression from 9baa45f78b8ca7d66280e36009b6a685055d7cd6
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3b64714da48f1654dbbf6ef5b4abe5b0c5952a9e
Author: Roland Scheidegger <sroland at vmware.com>
Date: Fri Jan 17 02:12:20 2014 +0100
llvmpipe: fix large point rasterization with point_quad_rasterization
The whole round-pointsize-to-int stuff must only be done with GL legacy
rules (no point_quad_rasterization) or all the wrong edges are lit up.
This was previously in a private branch (d3d pointsprite test complains
loudly otherwise) and got lost in a merge. However, it should certainly
apply to GL point sprite rasterization as well.
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4b9bcf31f47c4530f22cbbaca73491d01e44a9d4
Author: Roland Scheidegger <sroland at vmware.com>
Date: Thu Jan 9 16:55:22 2014 +0100
gallium: add bits for clipping points as tris (d3d-style)
OpenGL does whole-point clipping, that is a large point is either fully
clipped or fully unclipped (the latter means it may extend beyond the
viewport as long as the center is inside the viewport). d3d9 (d3d10 has
no large points) however requires points to be clipped after they are
expanded to a rectangle. (Note some IHVs are known to ignore GL rules at
least with some hw/drivers.)
Hence add a rasterizer bit indicating which way points should be clipped
(some drivers probably will always ignore this), and add the draw interaction
this requires. Drivers wanting to support this and using draw must support
large points on their own as draw doesn't implement vp clipping on the
expanded points (it potentially could but the complexity doesn't seem
warranted), and the driver needs to do viewport scissoring on such points.
Conflicts:
src/gallium/drivers/llvmpipe/lp_context.c
src/gallium/drivers/llvmpipe/lp_state_derived.c
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=739dc95e676b31349525b7daf99453b987748248
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Thu Jan 16 13:13:28 2014 -0500
mesa: fix GL_COLOR_SUM enum for drivers without ARB_vertex_program
Commit c13970808 (mesa: GL_EXT_secondary_color is not optional) changed
CHECK_EXTENSION2(EXT_secondary_color, ARB_vetex_program, cap)
to
CHECK_EXTENSION(ARB_vertex_program, cap)
However CHECK_EXTENSION2 checks that either extension is available, not
both. Remove the extension check entirely since the intent was for it to
always be enabled.
v2: Fix glGet*(GL_COLOR_SUM) too. Suggested by Ian.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Ian Romanick <ian.d.romanick at intel.com>
Cc: 9.2 10.0 <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=93b953d139112bea1c9c64a3de462cbb52c544fd
Author: Zack Rusin <zackr at vmware.com>
Date: Wed Dec 18 19:16:07 2013 -0500
llvmpipe: do constant buffer bounds checking in shaders
It's possible to bind a smaller buffer as a constant buffer, than
what the shader actually uses/requires. This could cause nasty
crashes. This patch adds the architecture to pass the maximum
allowable constant buffer index to the jit to let it make
sure that the constant buffer indices are always within bounds.
The behavior follows the d3d10 spec, which says the overflow
should always return all zeros, and overflow is only defined
as access beyond the size of the currently bound buffer. Accesses
beyond the declared shader constant register size are not
considered an overflow and expected to return garbage but consistent
garbage (we follow the behavior which some wlk tests expect which
is to return the actual values from the bound buffer).
Signed-off-by: Zack Rusin <zackr at vmware.com>
Reviewed-by: Jose Fonseca <jfonseca at vmware.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Roland Scheidegger <sroland at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=dd687fb8d090f08d09ac5e350a92f38ded837788
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Sun Jan 12 15:01:29 2014 -0500
nv50, nvc0: initialize ctx->sample_mask to ~0
Commit 95bf222603b (cso_context: Fix cso_context::sample_mask initial
value.) fixed the cso sample mask to be initialized to ~0. The cso code
is also careful not to needlessly call set_sample_mask, so we ended up
with the ctx->sample_mask never being set. This broke a number of
EXT_framebuffer_multisample piglit tests.
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=188383591d6d657b557a5407ee9b7b993f79c53b
Author: Aaron Watry <awatry at gmail.com>
Date: Thu Jan 2 11:18:09 2014 -0600
mesa/main: Free ctx->DrawIndirectBuffer during teardown
ctx->DrawIndirectBuffer wasn't being free'd in _mesa_free_buffer_objects
With this patch, "valgrind --leak-check=full glxgears" on evergreen (CEDAR)
now shows:
LEAK SUMMARY:
definitely lost: 0 bytes in 0 blocks
indirectly lost: 0 bytes in 0 blocks
possibly lost: 0 bytes in 0 blocks
still reachable: 70,228 bytes in 651 blocks
suppressed: 0 bytes in 0 blocks
Reviewed-by: Brian Paul <brianp at vmware.com>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ce3528896b37c7d8ef051780e29ea9588fada9da
Author: Aaron Watry <awatry at gmail.com>
Date: Wed Dec 18 14:40:49 2013 -0600
st/dri: prevent leak of dri option default values
v2: Change comment style
CC: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5ac3229f76f02453ae7e971d515b01fb56ad3fa5
Author: Aaron Watry <awatry at gmail.com>
Date: Tue Jan 7 14:45:41 2014 -0600
radeon: Move gfx/dma cs cleanup to r600_common_context_cleanup
The radeonsi code was not cleaning up either of these items leading to
leaked memory.
v2: Move cleanup to r600_common_context_cleanup instead of duplicating
the logic for SI
CC: "10.0" <mesa-stable at lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a05c596a00916ce6a9c9d35ff36cd1e401fddd43
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 14:22:30 2013 -0800
mesa: Eliminate parameters to dd_function_table::Scissor
The i830 and i915 drivers used them, but they didn't really need to.
They will just be annoying in future patches.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=6dbab6b2bb29e3b0595762920ef17e2ae5a9bf3a
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 14:16:05 2013 -0800
mesa: Eliminate parameters to dd_function_table::DepthRange
No driver uses them. They will just be annoying in future patches.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=065bd6ffc23c9cfef9b10418fb06233a912d6471
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 14:01:31 2013 -0800
mesa: Eliminate parameters to dd_function_table::Viewport
No driver uses them. They will just be annoying in future patches.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=fbc0c9a553ecdc1d6a78a44f7c2c764dd5f172ad
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 12:38:22 2013 -0800
radeon: Remove dead code
A future patch will rename some of the fields of gl_viewport_attrib, and
I don't want to update dead code that I can't test.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: Dave Airlie <airlied at redhat.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=4fcdb75268fe844c60d9c53f0dfd38d7460dea00
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Nov 5 14:34:03 2013 -0800
i915: Remove spurious calls to DepthRange
For both i830 and i915, the driver DepthRange function just calls
intelCalcViewport.
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
Reviewed-by: Kenneth Graunke <kenneth at whitecape.org>
Cc: Eric Anholt <eric at anholt.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=0a75909b3f554b20c9672fc72efbc4f6ec3ce4ea
Author: Ian Romanick <ian.d.romanick at intel.com>
Date: Tue Jan 14 13:41:19 2014 -0800
mesa: Add COMPRESSED_RGBA_S3TC_DXT1_EXT to COMPRESSED_TEXTURE_FORMATS for GLES
The ES and desktop GL specs diverge here. Yay!
In desktop OpenGL, the driver can perform online compression of
uncompressed texture data. GL_NUM_COMPRESSED_TEXTURE_FORMATS and
GL_COMPRESSED_TEXTURE_FORMATS give the application a list of formats
that it could ask the driver to compress with some expectation of
quality. The GL_ARB_texture_compression spec calls this "suitable for
general-purpose usage." As noted above, this means
GL_COMPRESSED_RGBA_S3TC_DXT1_EXT is not included in the list.
In OpenGL ES, the driver never performs compression.
GL_NUM_COMPRESSED_TEXTURE_FORMATS and GL_COMPRESSED_TEXTURE_FORMATS give
the application a list of formats that the driver can receive from the
application. It is the *complete* list of formats. The
GL_EXT_texture_compression_s3tc spec says:
"New State for OpenGL ES 2.0.25 and 3.0.2 Specifications
The queries for NUM_COMPRESSED_TEXTURE_FORMATS and
COMPRESSED_TEXTURE_FORMATS include COMPRESSED_RGB_S3TC_DXT1_EXT,
COMPRESSED_RGBA_S3TC_DXT1_EXT, COMPRESSED_RGBA_S3TC_DXT3_EXT,
and COMPRESSED_RGBA_S3TC_DXT5_EXT."
Note that the addition is only to the OpenGL ES specification!
Signed-off-by: Ian Romanick <ian.d.romanick at intel.com>
See-also: http://lists.freedesktop.org/archives/mesa-dev/2013-October/047439.html
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
Cc: "10.0" <mesa-stable at lists.freedesktop.org>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bf27d02390a22f6f39064f095aaf5b45d74c0a8b
Author: Brian Paul <brianp at vmware.com>
Date: Wed Jan 15 09:17:04 2014 -0700
scons: add new shaderimage.c file to the build
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bd6266622415fd24016f5c8e47c8b9cb654ea089
Author: Francisco Jerez <currojerez at riseup.net>
Date: Tue Jan 14 22:03:57 2014 +0100
clover: Fix clover::keys and ::values to deal with r-value references properly.
Returning a reference is incorrect if the specified pair was a
temporary -- Instead of that, use decltype() to deduce the correct
return type qualifiers. Fixes a crash in clCreateProgramWithBinary().
Reported-and-tested-by: "Dorrington, Albert" <albert.dorrington at lmco.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5662602ba050a43a01c1e06bdfeea83ec792852e
Author: Francisco Jerez <currojerez at riseup.net>
Date: Tue Jan 14 21:55:29 2014 +0100
clover: Don't try to build programs created from a binary again.
According to the spec it's allowed to call clBuildProgram() on a
program created from a user-specified binary. We don't need to do
anything to build the program in that case.
Reported-and-tested-by: "Dorrington, Albert" <albert.dorrington at lmco.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=5195f1d9c666bb6ac5faf39ea0df693ed28adbf0
Author: Francisco Jerez <currojerez at riseup.net>
Date: Tue Jan 14 21:53:57 2014 +0100
clover: Add missing fields to the clover::module serialization code.
Tested-by: "Dorrington, Albert" <albert.dorrington at lmco.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=efcc84f425f26905e0c6627993108e5927bd81b3
Author: Francisco Jerez <currojerez at riseup.net>
Date: Tue Jan 14 21:47:46 2014 +0100
clover: Store map result into a temporary vector in clCreateProgramWithBinary.
This avoids the inefficient multiple evaluation of the map result in
the code below. It should cause no functional changes.
Tested-by: "Dorrington, Albert" <albert.dorrington at lmco.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=83db4a30b84215d105a0a53353cb4d3a4e1aacb1
Author: Francisco Jerez <currojerez at riseup.net>
Date: Sun Nov 24 16:24:32 2013 -0800
docs: Mark ARB_shader_image_load_store as work in progress.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=647344bf3e739c537a97ae54046b6b55cd068721
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 19:58:10 2013 -0800
mesa: Validate image units when the texture state changes.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=ace31f4bc05ad35ef42626ecd667a4bbbe044ddc
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 19:54:47 2013 -0800
mesa: Unbind deleted textures from the shader image units.
From ARB_shader_image_load_store:
If a texture object bound to one or more image units is deleted by
DeleteTextures, it is detached from each such image unit, as though
BindImageTexture were called with <unit> identifying the image unit
and <texture> set to zero.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=902f9df36bec7d67a2d8bc4c24d89d9d57964903
Author: Francisco Jerez <currojerez at riseup.net>
Date: Mon Nov 25 10:11:59 2013 -0800
mesa: Add image parameter queries for ARB_shader_image_load_store.
v2: Fix off-by-one error in index parameter bound checking.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=eb0de7c4321cf3424b5e50e130151100c8ec20b3
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 19:47:22 2013 -0800
mesa: Add ARB_shader_image_load_store to the extension table.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=a167e354e714840c867c6af09b476cf129d1084c
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 15:55:09 2013 -0800
glapi: Update dispatch XML files for ARB_shader_image_load_store.
And uncomment the relevant lines of the dispatch sanity test.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bcc49e17ffb76110a05130116b15904db6a0278c
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 15:56:34 2013 -0800
mesa: Implement the GL entry points defined by ARB_shader_image_load_store.
v2: Name image format classes consistently, fix array and 3D teximage
selection with layered = GL_FALSE, make sure that the
user-specified layer is less than the number of texture layers,
add some asserts.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7510c10209d95458ededf01234b644bf2020d768
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 19:49:58 2013 -0800
mesa: Add MESA_FORMAT_SIGNED_RG88 and _RG1616.
Including pack/unpack and texstore code. ARB_shader_image_load_store
requires support for the GL_RG8_SNORM and GL_RG16_SNORM formats, which
map to MESA_FORMAT_SIGNED_GR88 and MESA_FORMAT_SIGNED_GR1616 on
little-endian hosts, and MESA_FORMAT_SIGNED_RG88 and
MESA_FORMAT_SIGNED_RG1616 respectively on big-endian hosts -- only the
former were already present, add support for the latter.
Acked-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=87942749a327725014b0d160b3e48d6d83723ac2
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 19:49:29 2013 -0800
mesa: Add MESA_FORMAT_ABGR2101010.
Including pack/unpack and texstore code. This texture format is a
requirement for ARB_shader_image_load_store.
Acked-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=16070716bca77da0d33ac2b5ae9f83c10993d912
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 21:16:06 2013 -0800
mesa: Add driver interface for ARB_shader_image_load_store.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=7a98741ef2bde20c33522ca4960253fa06cae2e2
Author: Francisco Jerez <currojerez at riseup.net>
Date: Fri Nov 22 21:15:26 2013 -0800
mesa: Add state data structures required for ARB_shader_image_load_store.
v2: Increase MAX_IMAGE_UNITS to what i965 wants and add a separate
MAX_IMAGE_UNIFORMS define, clarify a couple of comments.
Reviewed-by: Chris Forbes <chrisf at ijw.co.nz>
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=d9b0b4e960b07140e5ece4b4ff6a142277408bfb
Author: Francisco Jerez <currojerez at riseup.net>
Date: Sat Dec 7 23:35:04 2013 +0100
mesa: Define helper function to get the number of texture layers.
And to check if it can have layers at all. This will be used by the
implementation of ARB_shader_image_load_store.
v2: Fix constness of texobj argument, use assert and return reasonable
default rather than calling unreachable() in default switch case.
Reviewed-by: Paul Berry <stereotype441 at gmail.com>
Reviewed-by: Brian Paul <brianp at vmware.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=bfcf78c1101a1cbcdd9a479722203047c8d6c26a
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Wed Jan 15 11:39:24 2014 +0000
st/mesa: use signed temporary variable to store _ColorDrawBufferIndexes
The temporary variable used to store _ColorDrawBufferIndexes must be
signed (GLint), otherwise the following conditional will be incorrectly
evaluated. Leading to crashes in the driver/mesa or accessing/writing
to arbitrary memory location. The bug dates back to 2009.
Cc: 10.0 9.2 9.1 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=3515a648a95134e04234f98d6630c2067069f1d6
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Mon Jan 13 01:56:39 2014 +0000
automake: include the git sha in the opengl version string for oot builds
Acked-by: Chad Versace <chad.versace at linux.intel.com>
Reviewed-by: Matt Turner <mattst88 at gmail.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=10368e1446e3b537c1dc4cb536994a4d01cfd2f0
Author: Emil Velikov <emil.l.velikov at gmail.com>
Date: Sun Jan 12 22:42:05 2014 +0000
mesa: use signed temporary variable to store _ColorDrawBufferIndexes
_ColorDrawBufferIndexes is defined as GLint* and using a GLuint*
will result in the first part of the conditional to be evaluated to
true always.
Unintentionally introduced by the following commit, this will result
in a driver segfault if one is using an old version of the piglit test
bin/clearbuffer-mixed-format -auto -fbo
commit 03d848ea1003abefd8fe51a5b4a780527cd852af
Author: Marek Olšák <marek.olsak at amd.com>
Date: Wed Dec 4 00:27:20 2013 +0100
mesa: fix interpretation of glClearBuffer(drawbuffer)
This corresponding piglit tests supported this incorrect behavior instead of
pointing at it.
Cc: Marek Olšák <marek.olsak at amd.com>
Cc: 10.0 9.2 9.1 <mesa-stable at lists.freedesktop.org>
Reviewed-by: Marek Olšák <marek.olsak at amd.com>
Signed-off-by: Emil Velikov <emil.l.velikov at gmail.com>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=716b512dcf1d28eb9cafb31773aec68c4fd58122
Author: Ilia Mirkin <imirkin at alum.mit.edu>
Date: Tue Jan 14 19:50:33 2014 -0500
nouveau: add framebuffer validation callback
Fixes assertions when trying to attach textures to fbs with formats not
supported by the render engines.
See https://bugs.freedesktop.org/show_bug.cgi?id=73459
Signed-off-by: Ilia Mirkin <imirkin at alum.mit.edu>
Reviewed-by: Francisco Jerez <currojerez at riseup.net>
URL: http://cgit.freedesktop.org/mesa/mesa/commit/?id=e457aca7fa477bfa2fbd57f1d0c8155206cfd8e8
Author: Francisco Jerez <currojerez at riseup.net>
Date: Tue Jan 14 21:38:11 2014 +0100
clover: Use cl_ulong in the maximum allocation size calculation to avoid overflow.
More information about the mesa-commit
mailing list