summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* i965: Fix compiler warning.Courtney Goeltzenleuchter2013-11-052-2/+2
| | | | | | | fix: intel_screen.c:1320:4: warning: initialization from incompatible pointer type [enabled by default] Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Tell the unit states how many binding table entries we have.Eric Anholt2013-11-057-5/+22
| | | | | | | | | | Before the series with 3c9dc2d31b80fc73bffa1f40a91443a53229c8e2 to dynamically assign our binding table indices, we didn't really track our binding table count per shader, so we never filled in these fields. Affects cairo-gl trace runtime by -2.47953% +/- 1.07281% (n=20) Reviewed-by: Kenneth Graunke <[email protected]>
* i965: Fix context initialization after 2f896627175384fd5Eric Anholt2013-11-051-3/+6
| | | | | | | | You can't return stack-initialized values and expect anything good to happen. Reviewed-by: Chad Versace <[email protected] Reviewed-by: Matt Turner <[email protected]>
* gallivm: optimize lp_build_minify for sseRoland Scheidegger2013-11-053-13/+54
| | | | | | | | | | | | | | | | | SSE can't handle true vector shifts (with variable shift count), so llvm is turning them into a mess of extracts, scalar shifts and inserts. It is however possible to emulate them in lp_build_minify with float muls, which should be way faster (saves over 20 instructions per 8-wide lp_build_minify). This wouldn't work for "generic" 32bit shifts though since we've got only 24bits of mantissa (actually for left shifts it would work by using sse41 int mul instead of float mul but not for right shifts). Note that this has very limited scope for now, since this is only used with per-pixel lod (otherwise we're avoiding the non-constant shift count by doing per-quad shifts manually), and only 1d textures even then (though the latter should change). Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Jose Fonseca <[email protected]>
* nouveau: Use _NEW_SCISSOR instead of hooking through dd_function_tableIan Romanick2013-11-051-7/+3
| | | | | | | | This will enable removing the dd_function_table::Scissor hook in the near future. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* nouveau: Use _NEW_VIEWPORT instead of hooking through dd_function_tableIan Romanick2013-11-051-14/+3
| | | | | | | | This will enable removing the dd_function_table::DepthRange hook in the near future. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Francisco Jerez <[email protected]>
* radeon / r200: Don't pass unused parameters to radeon_viewportIan Romanick2013-11-054-4/+14
| | | | | | | | | | | The x, y, width, and height parameters aren't used by radeon_viewport, so don't pass them. This should make future changes to the dd_function_table::Viewport interface a little easier. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Acked-by: Alex Deucher <[email protected]> Cc: Courtney Goeltzenleuchter <[email protected]>
* i915: Bring sanity to the Viewport functionIan Romanick2013-11-054-28/+22
| | | | | | | | | | | The i830 and the i915 driver have the same dd_function_table::Viewport function... it just has two names and lives in two places. Using a single implementation allows cleaning up the saved_viewport nonsense too. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Cc: Courtney Goeltzenleuchter <[email protected]>
* i965: Eliminate the saved_viewport wrapperIan Romanick2013-11-052-7/+5
| | | | | | | | | | | The i965 driver never installed a dd_function_table::Viewport function, so this wrapper never actually did anything. No piglit regressions on IVB on DRI2. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Jordan Justen <[email protected]> Cc: Courtney Goeltzenleuchter <[email protected]>
* mesa: Remove last BEOS checksAlexander von Gluck IV2013-11-052-10/+0
| | | | | | | | | * Goodbye BeOS, we hardly knew thee * As BeOS was gcc2 only, there was little chance of this being useful. * Doesn't effect Haiku in any meaningful way Reviewed-by: Brian Paul <[email protected]>
* util/u_format: take normalized flag in consideration in ↵José Fonseca2013-11-051-0/+3
| | | | | | util_format_is_rgba8_variant Just happened to notice it was missing while looking at it.
* glsl: Don't generate misleading debug names when packing gs inputs.Paul Berry2013-11-041-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | Previously, when packing geometry shader input varyings like this: in float foo[3]; in float bar[3]; lower_packed_varyings would declare a packed varying like this: (declare (shader_in flat) (array ivec4 3) packed:foo[0],bar[0]) That's confusing, since the packed varying acutally stores all three values of foo and all three values of bar. This patch causes it to generate the more sensible declaration: (declare (shader_in flat) (array ivec4 3) packed:foo,bar) Note that there should be no functional change for users of geometry shaders, since the packed name is only used for generating debug output. But this should reduce confusion when using INTEL_DEBUG=gs. Reviewed-by: Eric Anholt <[email protected]>
* gallivm: Remove llvm::DisablePrettyStackTrace for LLVM >= 3.4.Vinson Lee2013-11-041-0/+2
| | | | | | | | | | | | | LLVM 3.4 r193971 removed llvm::DisablePrettyStackTrace and made the pretty stack trace opt-in rather than opt-out. The default value of DisablePrettyStackTrace has changed to true in LLVM 3.4 and newer. Signed-off-by: Vinson Lee <[email protected]> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=60929 Reviewed-by: Tom Stellard <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* target/haiku-softpipe: Fix viewport issuesAlexander von Gluck IV2013-11-054-29/+138
| | | | | | | | | | | | * Call mesa viewport call on winndow resize * Add initial postprocessing code * Pass hgl_context to private statetracker as it is more useful than GalliumContext * Use Lock and Unlock functions to standardize GalliumContext locking * Create texture resources in texture validation Acked-by: Brian Paul <[email protected]>
* mesa: remove __alpha__ && CCPML checkBrian Paul2013-11-041-4/+0
| | | | Reviewed-by: Matt Turner <[email protected]>
* mesa: remove OPENSTEP stuffBrian Paul2013-11-042-6/+2
| | | | Reviewed-by: Matt Turner <[email protected]>
* mesa: remove macintosh preprocessor stuffBrian Paul2013-11-042-13/+6
| | | | | | IIRC, this is MacOS 9.x stuff. Reviewed-by: Matt Turner <[email protected]>
* mesa: remove __QUICKDRAW__ testsBrian Paul2013-11-042-6/+1
| | | | Reviewed-by: Matt Turner <[email protected]>
* mesa: remove WGLAPI macroBrian Paul2013-11-041-16/+0
| | | | | | WGLAPI was defined in glheader.h but wasn't used anywhere. Reviewed-by: Matt Turner <[email protected]>
* i965: Expose brw_reg_from_fs_reg() to other files.Kenneth Graunke2013-11-042-1/+3
| | | | | | This will be useful for Broadwell code as well. Signed-off-by: Kenneth Graunke <[email protected]>
* i965: Combine gen6_clip_state.c and gen7_clip_state.c.Kenneth Graunke2013-11-043-140/+42
| | | | | | | | | | The changes between Gen6-7 are minimal, and can easily be solved with an extra generation check. This cuts a lot of duplicated code. It also helps prevent even more duplication for Broadwell. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Eric Anholt <[email protected]>
* dri/nouveau: Fix nouveau_init_screen2 breakage.Francisco Jerez2013-11-041-16/+15
| | | | | | | Fix incorrect init ordering in nouveau_init_screen2 caused by 083f66fdd6451648fe355b64b02b29a6a4389f0d. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71172
* i965/gen7: Add instruction latency estimates for untyped atomics and reads.Francisco Jerez2013-11-041-0/+39
| | | | | | | | The latency information has been obtained empirically from measurements taken on Haswell and Ivy Bridge. Acked-by: Paul Berry <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* i965/gen7: Handle atomic instructions from the VEC4 back-end.Francisco Jerez2013-11-042-2/+110
| | | | | | | | | | | | | This can deal with all the 15 32-bit untyped atomic operations the hardware supports, but only INC and PREDEC are going to be exposed through the API for now. v2: Represent atomics as GLSL intrinsics. Add support for variably indexed atomic counter arrays. v3: Add comment on why we don't need to assign uniform storage for atomic counters. Reviewed-by: Paul Berry <[email protected]>
* i965/gen7: Handle atomic instructions from the FS back-end.Francisco Jerez2013-11-042-2/+141
| | | | | | | | | | | | | | This can deal with all the 15 32-bit untyped atomic operations the hardware supports, but only INC and PREDEC are going to be exposed through the API for now. v2: Represent atomics as GLSL intrinsics. Add support for variably indexed atomic counter arrays. Fix interaction with fragment discard. v3: Add comment on why we don't need to assign uniform storage for atomic counters. Reviewed-by: Paul Berry <[email protected]>
* i965: Add a 'has_side_effects' back-end instruction predicate.Francisco Jerez2013-11-045-17/+34
| | | | | | | | | | | | | This patch fixes the three dead code elimination passes and the VEC4/FS instruction scheduling passes so they leave instructions with side effects alone. At some point it might be interesting to have the instruction scheduler calculate the exact memory dependencies between atomic ops, but they're rare enough that it seems unlikely that it will make any practical difference. Reviewed-by: Paul Berry <[email protected]>
* clover: Calculate optimal work group size when it's not specified by the user.Francisco Jerez2013-11-045-15/+176
| | | | | | | | Inspired by a patch sent to the mailing list by Tom Stellard, but using a different algorithm to calculate the optimal block size that has been found to be considerably more effective. Reviewed-by: Tom Stellard <[email protected]>
* clover: Constify some command_queue arguments.Francisco Jerez2013-11-041-4/+4
|
* clover: Workaround compiler bug present in GCC 4.7.0-4.7.2.Francisco Jerez2013-11-041-16/+13
| | | | | Variadic template aliases make these versions of GCC very confused, write down the full type spec instead.
* st/xorg: handle updates to DamageUnregister APIEmil Velikov2013-11-041-0/+4
| | | | | | | | | | | | | | xserver 1.14.99.2 simplified the DamageUnregister API, by dropping the drawable argument. Follow xf86-video-intel and xf86-video-vmware approach and handle the new API by checking XORG_VERSION_CURRENT. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=71110 Reported-by: Michał Górny <[email protected]> Reported-by: Vinson Lee <[email protected]> Tested-by: Vinson Lee <[email protected]> Reviewed-by: Brian Paul <[email protected]> Signed-off-by: Emil Velikov <[email protected]>
* mesa: remove Watcom C supportBrian Paul2013-11-043-45/+0
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: remove Centerline C support from gl.hBrian Paul2013-11-041-4/+0
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: remove BUILD_FOR_SNAP bitsBrian Paul2013-11-042-7/+5
| | | | Reviewed-by: Eric Anholt <[email protected]>
* mesa: remove SciTech stuff from gl.hBrian Paul2013-11-041-5/+1
| | | | Reviewed-by: Eric Anholt <[email protected]>
* r600g: properly unbind a DSA state being deleted in r600_delete_dsa_stateMarek Olšák2013-11-042-2/+9
| | | | Tested-by: Christian König <[email protected]>
* docs/GL3: document radeonsi support, minor cleanupMarek Olšák2013-11-041-90/+90
| | | | Reviewed-by: Ian Romanick <[email protected]>
* radeonsi: implement ARB_vertex_type_2_10_10_10_revMarek Olšák2013-11-041-0/+7
|
* r600g,radeonsi: properly expose texture buffer formatsMarek Olšák2013-11-043-9/+24
| | | | This exposes GL_ARB_texture_buffer_object_rgb32.
* radeonsi: implement texture buffer objectsMarek Olšák2013-11-043-54/+137
| | | | GLSL 1.40 is done.
* radeonsi: report our border color behaviorMarek Olšák2013-11-041-1/+3
|
* radeonsi: bind a dummy constant buffer in place of NULL buffersMarek Olšák2013-11-043-0/+29
|
* radeonsi: implement uniform buffer objectsMarek Olšák2013-11-044-31/+41
|
* tgsi/scan: set maximum index for each constant bufferMarek Olšák2013-11-042-1/+13
|
* radeonsi: try to fix IA_MULTI_VGT_PARAM programmingMarek Olšák2013-11-043-2/+8
| | | | This doesn't make any difference on Bonaire, but it might help on Hawaii.
* winsys/radeon: use type-3 NOPs for CS padding on CIKMarek Olšák2013-11-041-2/+7
| | | | The type-2 NOPs are said to be unstable. It doesn't make a difference here.
* clover: fix build with LLVM 3.4Aaron Watry2013-11-041-5/+0
| | | | | | | | dso_list was added as an argument for createInternalizePass in 3.4, and then it was removed again in the same llvm version. Tested-by: Mike Lothian <[email protected]> Reviewed-by: Tom Stellard <[email protected]>
* draw: move type construction out of loopBrian Paul2013-11-041-1/+3
| | | | | | We can create clip_ptr_type once instead of n times inside the loop. Reviewed-by: Roland Scheidegger <[email protected]>
* i965: Add driconf option clamp_max_samplesChad Versace2013-11-032-12/+67
| | | | | | | | | | | | | | | | | | | | The new option clamps GL_MAX_SAMPLES to a hardware-supported MSAA mode. If negative, then no clamping occurs. v2: (for Paul) - Add option to i965 only, not to all DRI drivers. - Do not realy on int->uint cast to convert negative values to large positive values. Explicitly check for clamp_max_samples < 0. v3: (for Ken) - Don't allow clamp_max_samples to alter context version. - Use clearer for-loop and correct comment. - Rename variables. v4: (for Ken) - Merge identical if-branches. Reviewed-and-tested-by: Kenneth Graunke <[email protected]> Signed-off-by: Chad Versace <[email protected]>
* i965: Fix logic_op check.Vinson Lee2013-11-031-2/+1
| | | | | | | Fixes "Macro compares unsigned to 0" defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i915: Fix logic_op check.Vinson Lee2013-11-031-2/+1
| | | | | | | Fixes "Macro compares unsigned to 0" defect reported by Coverity. Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Ian Romanick <[email protected]>