Commit Graph

5248 Commits

Author SHA1 Message Date
Chris Wilson 59359dba64 sna: Mark SHM userptr bo as unreusable
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-11 11:12:33 +01:00
Chris Wilson 6448801050 sna/gen2-5: Substitute an equivalent BLT composite operation
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-11 11:12:33 +01:00
Chris Wilson f464d508c8 sna/gen6+: Try to use the BLT to avoid TLB misses
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-11 11:12:33 +01:00
Chris Wilson e9c0e54e69 sna: Handle userptr failures more gracefully
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-11 11:12:33 +01:00
Chris Wilson 5d6d9231cd sna: Reset BLT state after copy-boxes
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-10 23:07:07 +01:00
Chris Wilson 50bfc172f1 sna: Improve a DBG statement
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-10 22:49:26 +01:00
Chris Wilson b33f6754a9 sna: Add assertions to 8x8 tiled BLTs and reset BLT state afterwards
Reported-by: Clemens Eisserer <linuxhippy@gmail.com>
References: https://bugs.freedesktop.org/show_bug.cgi?id=53353
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-10 22:01:23 +01:00
Chris Wilson ff54d4af39 sna: Add a couple of debug options to control use of BLT patterns
References: https://bugs.freedesktop.org/show_bug.cgi?id=53353
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-10 21:41:38 +01:00
Chris Wilson 2230614403 sna: Use the HAS_SEMAPHORES parameter when available
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-08 19:45:09 +01:00
Chris Wilson 465ae1840a sna: Use a compile time constant for determine the zeroth bit
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-08 12:24:17 +01:00
Chris Wilson 85192f00e3 sna: Ignore trailing bits when comparing lines inside the bitmap
References: https://bugs.freedesktop.org/show_bug.cgi?id=51422
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-08 12:18:48 +01:00
Chris Wilson edc1427f3d sna/gen5: Add DBG for context switching
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-08 10:53:40 +01:00
Chris Wilson fec78ddc60 sna: Add DBG option to disable discarding of glyph masks
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-08 10:08:52 +01:00
Chris Wilson b0cd430082 sna/gen5: Fix use of uninitialised rgba value for DBG
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-08 10:07:06 +01:00
Chris Wilson 9ad923f95c sna: Minor DBG for fallback glyphs and discarding the mask
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-08 09:59:50 +01:00
Chris Wilson 1a0590d133 sna: Check the composite extents against the clip
When computing the composite extents (as opposed to the composite
region) also check if the resultant box overlaps the destination clip
region (we know it already fits into the extents). This helps in cases
with small roi against clipped drawables, such as drawing text onto
expose events.

References: https://bugs.freedesktop.org/show_bug.cgi?id=51422
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-07 17:19:52 +01:00
Paulo Zanoni 5f5a10ef04 Add Haswell PCI IDs
Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: Rodrigo Vivi <rodrigo.vivi@gmail.com>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-07 11:35:19 +01:00
Chris Wilson d8f7f933bc sna: Format markup to suppress compiler warning
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-05 17:18:54 +01:00
Chris Wilson 4d0a259988 sna/gen6: Compile fix for DBG
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-05 11:03:40 +01:00
Chris Wilson d917a276bf sna/gen4: Restore the w/a flush for fill/copy as well
So far, it looks like that the only one we can indeed drop is the
composite with mask.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-04 18:05:03 +01:00
Cyril Brulebois d754bc3435 Fix build failure when passing --with-builderstring.
If --with-builderstring="foo" is passed to configure (and sna enabled):
  CC     sna_driver.lo
src/sna/sna_driver.c: In function 'sna_init_scrn':
src/sna/sna_driver.c:1023:7: error: token ""foo"" is not valid in preprocessor expressions

Fix the missing defined() around the BUILDER_DESCRIPTION variable.

Signed-off-by: Cyril Brulebois <kibi@debian.org>
2012-08-04 16:35:58 +01:00
Chris Wilson 4bad76b451 sna/dri: Don't force ring selection if we have semaphores
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-04 14:32:04 +01:00
Chris Wilson fb7b584ec9 sna/dri: Correct ring selection for a busy bo
Confused the RENDER ring with the BLT, limiting swap performance.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-04 14:32:04 +01:00
Chris Wilson 20e58077fe sna/gen6: Reduce ring switching for overlapping copy boxes
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-04 11:21:10 +01:00
Chris Wilson 2345227663 sna/gen7: Use a temporary to avoid switching rings for overlapping copies
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-04 11:12:12 +01:00
Chris Wilson 61ec2999af sna/gen4: Restore w/a flush for video
One flush removal too many, keep those fingers crossed that the others
do not make an unwanted return.

Reported-by: Roman Jarosz <kedgedev@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53119
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-04 10:34:49 +01:00
Chris Wilson 036b90f099 sna/gen7: Correct number of texture coordinates used for video
Fixes regresion from

commit 33c028f8be
Author: Chris Wilson <chris@chris-wilson.co.uk>
Date:   Wed Aug 1 01:17:50 2012 +0100

    sna/gen6+: Reduce floats-per-vertex for spans

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-03 21:42:28 +01:00
Chris Wilson 05dcc5f169 Pass the chipset info through driverPrivate rather than a global pointer
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-03 21:42:28 +01:00
Chris Wilson 2b3f4ca33a Unexport intel_chipsets
Only used by the core module code, so make it static.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-03 21:42:28 +01:00
Chris Wilson 5ff749727d sna/gen7: Add constant variations and hookup a basic GT descriptor for Haswell
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-03 12:26:12 +01:00
Chris Wilson cd028cad3d sna: Limit the batch size on all gen7 variants
Seems the limit on the surface state size is common across the family

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-03 12:21:46 +01:00
Gwenole Beauchesne 4cd9ec9d40 uxa: fix 3DSTATE_PS to fill in number of samples for Haswell
The sample mask value must match what is set for 3DSTATE_SAMPLE_MASK,
through gen6_upload_invariant_states().

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-08-03 12:20:29 +01:00
Gwenole Beauchesne 412668464c uxa: set "Shader Channel Select" fields in surface state for Haswell
For normal behaviour, each Shader Channel Select should be set to the
value indicating that same channel. i.e. Shader Channel Select Red is
set to SCS_RED, Shader Channel Select Green is set to SCS_GREEN, etc.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-08-03 12:20:26 +01:00
Gwenole Beauchesne a47ba68996 uxa: fix max PS threads shift value for Haswell
The maximum number of threads is now a 9-bit value. Thus, one more bit
towards LSB was re-used. i.e. bit position is now 23 instead of 24 on
Ivy Bridge.

Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-08-03 12:20:23 +01:00
Gwenole Beauchesne ce4421e175 uxa: use at least 64 URB entries for Haswell
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-08-03 12:20:18 +01:00
Gwenole Beauchesne 8c880aa34c uxa: add IS_HSW() macro to distinguish Haswell from Ivybridge
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-08-03 12:11:59 +01:00
Gwenole Beauchesne 0c0d1d956a Introduce a chipset identifier for Haswell (Ivybridge successor)
Signed-off-by: Gwenole Beauchesne <gwenole.beauchesne@intel.com>
2012-08-03 12:10:54 +01:00
Chris Wilson 146959dd5e sna: Drop the clear flag as we discard the GPU damage
Hopefully only to keep the sanity checks happy...

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 23:44:05 +01:00
Chris Wilson 7404e3085b sna: Ensure we only mark a clear for a fill on the GPU bo
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 23:39:13 +01:00
Chris Wilson ca46d1c7a1 sna/gen7: Prefer the BLT for self-copies
Looking at the test results for a third time, gives the edge to the BLT
again.
2012-08-01 20:21:45 +01:00
Chris Wilson e4a3cd3d16 sna: Add validation of the clear flag to pixmap debugging
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 17:37:33 +01:00
Chris Wilson eaeda34bef sna: Fix computation of st values for SIMD8 dispatch
Fixes regression with enabling 8-pixels.

Reported-by: Mehran Kholdi <semekh.dev@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53044
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 16:23:05 +01:00
Chris Wilson 55231eca81 sna/gen6: Install a fallback 16-pixel shader
In case the DBG options leave no shader compiled, make sure we always
supply one.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 16:22:23 +01:00
Chris Wilson 4e79c1fef0 Revert "sna/gen7: Prefer the BLT for self-copies"
This reverts commit 89e75dbcb6.

Having removed the forced stall for a RENDER self-copy there is no
longer a need to encourage ring switching.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 16:00:05 +01:00
Chris Wilson 85cef78a40 sna/gen7: Simplify the force-stall detection
After reducing the number of conditions where we think we need to force
the stall on the results, we can then simplify the code to detect
that remaining case.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 13:40:42 +01:00
Chris Wilson 9391a2c71f sna/gen7: Only force a stall for a dirty target if also used as a blend source
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 12:50:32 +01:00
Chris Wilson 0a4bb8663b sna/gen4: Flush not required between fill vertices, only nomaskcomposite
A small breakthrough... Still need to flush the primitive between state
changes though.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 11:32:01 +01:00
Chris Wilson 33c028f8be sna/gen6+: Reduce floats-per-vertex for spans
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 11:01:38 +01:00
Chris Wilson 9b2873d3d9 sna/gen4+: Implement an opacity shader
Avoid the cumbersome lookup through the alpha gradient texture and
simply multiply the incoming opacity value. The next step will be to
reduce the number of floats required per vertex.

Now that we have removed the primary user of the alpha solid cache, it
may be time to retire that as well.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-01 10:32:37 +01:00
Chris Wilson fd3a123605 sna/gen6: Enable 8 pixel dispatch
This gives a small performance increase when operating with rectangles,
which is reasonably frequent.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-07-31 19:11:54 +01:00