summaryrefslogtreecommitdiff
path: root/src/i965_render.c
AgeCommit message (Collapse)Author
2012-11-30Convert generation counter to octalChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-08-03uxa: fix 3DSTATE_PS to fill in number of samples for HaswellGwenole Beauchesne
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-03uxa: set "Shader Channel Select" fields in surface state for HaswellGwenole Beauchesne
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-03uxa: fix max PS threads shift value for HaswellGwenole Beauchesne
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-07-26Reduce maximum thread count for IVB GT1 to avoid spontaneous combustionChris Wilson
Somewhere along the way it seems that IVB GT1 was reduced to only allow a maximum of 48 threads, as revealed in the lastest bspecs. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=52473 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-06-13Lots of trivial semantic fixesChris Wilson
Reported-by: Zdenek Kabelac <zkabelac@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-06-04uxa: Preferred order for calloc is (count, size)Chris Wilson
And assert that the allocation succeeds for good measure. A great big dollop of graceful failure is missing... Reported-by: Zdenek Kabelac <zkabelac@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-06-04uxa/i965: Drop superfluous 'state' variableChris Wilson
Reported-by: Zdenek Kabelac <zkabelac@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-06-04ux/i965: create_sampler_state_bo() expects enums, so feed it the right typesChris Wilson
Reported-by: Zdenek Kabelac <zkabelac@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-06-02uxa/i965: Make the unhandled allocation failures explicitChris Wilson
Add assertions to the point of allocation and write failures. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-06-02uxa: Remove 'render_source_is_solid' dead codeChris Wilson
Reported-by: Zdenek Kabelac <zkabelac@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2012-05-23intel: convert to new screen conversion APIsDave Airlie
The compat header takes care of the old server vs new server. this commit was autogenerated from util/modular/x-driver-screen-scrn-conv.sh Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-03-15uxa: Simplify flush trackingChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-11-03uxa: Remove caching of surface binding locationChris Wilson
If the pixmap were to be used multiple times within a batch with mulitple formats, the cache would only return the initial location with the incorrect format and so cause rendering glitches. For instance, GTK+ uses the same pixmap as an xrgb source and as an argb mask in order to premultiply and composite in a single pass. Rather than introduce an overly complication caching (handle, format) mechanism, kiss and remove the invalid implementation. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=40926 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-10-14Remove a couple of trivial compile warnings for unused variablesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-09-18Fix "always false" conditionalsPaulo Zanoni
Enums are unsigned by default in gcc and we can't rely on any specific signedess for the other compilers. i965_render.c: In function ‘i965_prepare_composite’: i965_render.c:2018:2: warning: comparison of unsigned expression < 0 is always false i965_render.c:2025:2: warning: comparison of unsigned expression < 0 is always false i965_render.c:2050:3: warning: comparison of unsigned expression < 0 is always false i965_render.c:2057:3: warning: comparison of unsigned expression < 0 is always false Signed-off-by: Paulo Zanoni <paulo.r.zanoni@intel.com> [ickle: take advantage and rename the enum values] Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28render: Enable RENDER acceleration on Ivybridge.Kenneth Graunke
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28render: Update pixel shader state for Ivybridge.Kenneth Graunke
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28render: Use Ivybridge variants for 3D pipeline setup.Kenneth Graunke
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28render: Refactor to use newly shared pipeline setup code in i965_3d.c.Kenneth Graunke
Slightly generalize the shared SF and CC code to accomodate both. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28render: Update 3DPRIMITIVE for Ivybridge.Kenneth Graunke
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28render: Set Address Modify Enable in 3DSTATE_VERTEX_BUFFERS on Gen7.Kenneth Graunke
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28render: Update SAMPLER_STATE for Ivybridge.Kenneth Graunke
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28render: Update SURFACE_STATE for Ivybridge.Kenneth Graunke
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-07-28render: New Ivybridge assembly programs for render acceleration.Kenneth Graunke
These are exactly the same as the ones for Sandybridge, but with message registers translated (hopefully) in the same way as Haihao's new programs (m1 == g65). Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-05-09Add support for Ivybridge chipset.Eric Anholt
This gets display and 2D blit acceleration up and running. No Render acceleration is provided yet.
2011-04-07Revert "i965: Convert to relative relocations for state"Chris Wilson
This reverts commit d2106384be6f9df498392127c3ff64d0a2b17457. Breaks compiz (but not mutter/gnome-shell) on gen6. Not sure if this is not seem deep interaction issue with multiple clients sharing the GPU or just with compiz, but for now we have to revert and suffer the inane performance hit. It looks suspiciously like another deferred damage issue... Bugzilla: 51a27e88b073cff229fff4362cb6ac22835c4044 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-04-07i965: Avoid transform overheads for vertex emit where possibleChris Wilson
Minor improvement as the bottlenecks lie elsewhere. But it was annoying me. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-04-07i965: Refactor to use constant sampler_state offsetsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-04-04i965: Reset vertex_id after every batchChris Wilson
So that we always remember to re-emit the initial vertex elements state. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-04-04i965: Always update last_floats_per_vertexChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-04-04Take advantage of the kernel flush for dirty bo in the busy ioctlChris Wilson
Rather than just creating and submitting a batch that simply contains a flush in order to periodically ensure that rendering reaches the scanout, we can simply ask the kernel whether the scanout is busy. The kernel will then submit a flush on our behalf if it is dirty, which takes advantage of the kernel's dirty state tracking. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-04-04i965: segregate each vertex element into its own bufferChris Wilson
Reduce the number of relocations emitted by only emitting one relocation per vertex element per vertex buffer. References: https://bugs.freedesktop.org/show_bug.cgi?id=35733 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-04-04i965: Convert to relative relocations for stateChris Wilson
References: https://bugs.freedesktop.org/show_bug.cgi?id=35733 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-02-17Fix IGD and IGDNG constants to be comprehensibleAdam Jackson
Since, with GPU-on-package, it's hard to talk about a model number for a specific chipset like 855GM, just use the platform names. Signed-off-by: Adam Jackson <ajax@redhat.com> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2011-01-04i965: Fix off-by-one in assertChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-07Revert "i965: The RenderCache flush after every glyph is required for compiz"Chris Wilson
This reverts commit 03e8351179b1c25d219842ef3e01ee8e176f594f. * sigh. This was only meant to be a temporary debugging hack, not for public consumption (or embarrassment). Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-07i965: Mark sure we mark reused render targets as dirtyChris Wilson
... or else we may forget to flush them again. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-07i965: The RenderCache flush after every glyph is required for compizChris Wilson
... now who can explain why. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-06snb: Only emit CC and DepthStencil bos once per batchChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-06snb: Restore drawrect, we need the implicit flushChris Wilson
Something is wrong, we should be tracking when to invalidate the caches as appropriate, yet I can not finding the missing flush to replace the implicit one of DRAW_RECTANGLE. Fixes cacomposite. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-06snb: Cache pixmap binding locationsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-06snb: Cache state between composite opsChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-06snb: Emit more invariants only onceChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-05i965: Also flush the vertex buffer when restarting the array.Chris Wilson
As a corollary to filling one vertex array and beginning a new one is remembering to emit the old one before overwriting... Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-05i965: Check for potential vertex array overflow every timeChris Wilson
There was a reason why we need to check at the start of every composite operation to see if we have enough space in the array to fit the vertices, which I promptly forgot when moving the code around to make it look pretty. * sigh. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-03i965: Amalgamate surface binding tablesChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-03i965: Upload an entire vbo in a single pwrite, rather than per-rectangleChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-12-03i965: Use reciprocal scale factors to avoid the divide per-vertex-elementChris Wilson
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
2010-11-09i915: Disable maximum state addressesChris Wilson
As the kernel controls the relocation of state buffers, we should not hard code the maximum permissible value for them. Fixes an eventual hang with full-gtt. Reported-by: Peter Clifton <pcjc2@cam.ac.uk> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>