summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* swrast: remove _BLENDAPIBrian Paul2015-03-122-16/+13
| | | | | | | _BLENDAPI boils down to __cdecl on Windows, but __cdecl is the default calling convention so this serves no purpose. Reviewed-by: Ian Romanick <[email protected]>
* mesa: use ARRAY_SIZE in _mesa_QueryMatrixxOES()Brian Paul2015-03-121-1/+1
| | | | Reviewed-by: Matt Turner <[email protected]>
* mesa: remove register keyword, add const in _mesa_QueryMatrixxOES()Brian Paul2015-03-121-3/+2
| | | | Reviewed-by: Matt Turner <[email protected]>
* mesa: reindent querymatrix.cBrian Paul2015-03-121-114/+115
| | | | | | Use 3-space indents, not 4. Move some comments after the case statements. Acked-by: Matt Turner <[email protected]>
* mesa: move fpclassify work-arounds into c99_math.hBrian Paul2015-03-122-50/+45
| | | | | | v2: Use #error in the #else clause, per Jose. Reviewed-by: Jose Fonseca <[email protected]>
* gallivm: Prevent double delete on LLVM 3.6Jose Fonseca2015-03-121-0/+1
| | | | | | | | std::unique_ptr takes ownership of MM, and a double delete could ensure in case of an error, as pointed out by Chris Vine in https://bugs.freedesktop.org/show_bug.cgi?id=89387 Reviewed-by: Chris Vine <[email protected]>
* autogen.sh: pass --force to autoreconf, quote ORIGDIREmil Velikov2015-03-111-2/+2
| | | | | | | | | | | By passing --force autoreconf will update all the aux files, which would otherwise be ignored if one updates autoconf/automake. Quote the ORIGDIR variable to prevent fall-outs, when its name contains space. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* glx: remove support for non-multithreaded platformsEmil Velikov2015-03-114-32/+4
| | | | | | | | | Implicitly required for a while, although commit 9385c592c68 (mapi: remove u_thread.h) was the one that put the final nail on the coffin. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* glx: remove final reference to THREADSEmil Velikov2015-03-111-4/+0
| | | | | | | | Left over from commit 18db13f5865(mapi: THREADS was always defined, remove it) Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* configure: require pthreads for POSIX buildsEmil Velikov2015-03-111-0/+3
| | | | | | | | | This has been an implicit rule for building mesa for a long time. Let's make it official and just bail out at configure time. This way we can cleaning up some of our glx code. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* egl/main: convert thread management to use c11 threadsEmil Velikov2015-03-111-42/+6
| | | | | | | | | Convert the code to use the C11 threads implementation, and nuke the Windows non-pthreads code-path. The c11/threads_win32.h abstraction should be better than the current code. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* egl/main: use c11/threads' mutex directlyEmil Velikov2015-03-1111-111/+47
| | | | | | | Remove the inline wrappers/abstraction layer. Signed-off-by: Emil Velikov <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* nir/worklist: Don't change the start index when computing the tail indexJason Ekstrand2015-03-112-7/+7
| | | | Reviewed-by: Mark Janes <[email protected]>
* nir: Optimize a + neg(a)Thomas Helland2015-03-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | Shader-db i965 instructions: total instructions in shared programs: 1711180 -> 1711159 (-0.00%) instructions in affected programs: 825 -> 804 (-2.55%) helped: 9 HURT: 0 GAINED: 3 LOST: 3 Shader-db NIR instructions: total instructions in shared programs: 606187 -> 606179 (-0.00%) instructions in affected programs: 298 -> 290 (-2.68%) helped: 4 HURT: 0 GAINED: 0 LOST: 0 Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Signed-off-by: Thomas Helland <[email protected]>
* nir: Optimize (a*b)+(a*c) -> a*(b+c)Thomas Helland2015-03-111-0/+2
| | | | | | | | | | | | | | | | | | | | | | Shader-db i965 instructions: total instructions in shared programs: 1715894 -> 1710802 (-0.30%) instructions in affected programs: 443080 -> 437988 (-1.15%) helped: 1502 HURT: 13 GAINED: 4 LOST: 4 Shader-db NIR instructions: total instructions in shared programs: 607710 -> 606187 (-0.25%) instructions in affected programs: 208285 -> 206762 (-0.73%) helped: 769 HURT: 8 GAINED: 0 LOST: 0 Reviewed-by: Matt Turner <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Signed-off-by: Thomas Helland <[email protected]>
* vbo: improve the code style by adjust the preprocessing c code directivesMarius Predut2015-03-112-42/+34
| | | | | | | | | | Brian Paul review suggestion: there's more macro use here than necessary. Removed and redefine some #define preprocessing directives. Removed the directive input parameter 'T' . No functional changes. Signed-off-by: Marius Predut <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* mesa: remove CPU_TO_LE32() for AIXBrian Paul2015-03-111-8/+0
| | | | | | | This is the only remnant of AIX-specific code in Mesa. Probably long unused. Reviewed-by: Ian Romanick <[email protected]>
* mesa: remove #define __volatileBrian Paul2015-03-111-3/+0
| | | | | | Not actually used anwhere in Mesa. Reviewed-by: Ian Romanick <[email protected]>
* mesa: use strdup() instead of _mesa_strdup()Brian Paul2015-03-119-30/+9
| | | | | | | | | We were already using strdup() in various places in Mesa. Get rid of the _mesa_strdup() wrapper. All the callers pass a non-NULL argument so the NULL check isn't needed either. Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* st/glx: use strdup() instead of _mesa_strdup()Brian Paul2015-03-111-1/+2
| | | | | Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* xlib: use strdup() instead of _mesa_strdup()Brian Paul2015-03-111-1/+2
| | | | | Reviewed-by: Jose Fonseca <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* i915: add parens to silence operator precedence warningBrian Paul2015-03-111-1/+1
| | | | Signed-off-by: Brian Paul <[email protected]>
* i965: Fix out-of-bounds accesses into pull_constant_loc arrayIago Toral Quiroga2015-03-111-2/+7
| | | | | | | | | | | | | | The piglit test glsl-fs-uniform-array-loop-unroll.shader_test was designed to do an out of bounds access into an uniform array to make sure that we handle that situation gracefully inside the driver, however, as Ken describes in bug 79202, Valgrind reports that this is leading to an out-of-bounds access in fs_visitor::demote_pull_constants(). Before accessing the pull_constant_loc array we should make sure that the uniform we are trying to access is valid. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79202 Reviewed-by: Matt Turner <[email protected]>
* i965/gen6 gs: Convert brw_imm_ud/brw_imm_d to src_regJordan Justen2015-03-101-7/+7
| | | | | | | | | | | | | | Same idea as this patch, only for gen6_gs_visitor: commit 49a938a265f5959c9b558995cc658f80acb6eb18 Author: Jordan Justen <[email protected]> Date: Fri Feb 20 12:12:25 2015 -0800 i965/fs: Use fs_reg for CS/VS atomics pixel mask immediate data Suggested-by: Matt Turner <[email protected]> Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Chris Forbes <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* i965/fs: Use unsigned for CS/VS atomics pixel mask immediate dataJordan Justen2015-03-101-2/+2
| | | | | | | | | | | | | brw_imm_ud(0xffff) should have been converted to fs_reg(0xffffu) to make sure the uint32_t fs_reg constructor was matched. commit 49a938a265f5959c9b558995cc658f80acb6eb18 Author: Jordan Justen <[email protected]> Date: Fri Feb 20 12:12:25 2015 -0800 i965/fs: Use fs_reg for CS/VS atomics pixel mask immediate data Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Matt Turner <[email protected]>
* i965/gen8: Don't allocate hiz miptree structureJordan Justen2015-03-091-0/+105
| | | | | | | | | | | | | | | | | | | We now skip allocating a hiz miptree for gen8. Instead, we calculate the required hiz buffer parameters and allocate a bo directly. v2: * Update hz_height calculation as suggested by Topi v3: * Bail if we failed to create the bo (Ben) v4: * CEILING => DIV_ROUND_UP * Make sure mt->logical_depth0 being 0 would not cause trouble * Fail if Y tiling is not returned Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67564 Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Reviewed-by: Ben Widawsky <[email protected]>
* i965/gen7: Don't allocate hiz miptree structureJordan Justen2015-03-091-2/+104
| | | | | | | | | | | | | | | | | | | We now skip allocating a hiz miptree for gen7. Instead, we calculate the required hiz buffer parameters and allocate a bo directly. v2: * Update hz_height calculation as suggested by Topi v3: * Bail if we failed to create the bo (Ben) v4: * CEILING => DIV_ROUND_UP * Make sure mt->logical_depth0 being 0 would not cause trouble * Fail if Y tiling is not returned Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=67564 Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Reviewed-by: Ben Widawsky <[email protected]>
* i965/gen8: Don't rely directly on the hiz miptree structureJordan Justen2015-03-091-3/+3
| | | | | | | | | | | We are still allocating a miptree for hiz, but we only use fields from intel_miptree_aux_buffer. This will allow us to switch over to not allocating a miptree. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ben Widawsky <[email protected]>
* i965/gen7: Don't rely directly on the hiz miptree structureJordan Justen2015-03-092-6/+7
| | | | | | | | | | | We are still allocating a miptree for hiz, but we only use fields from intel_miptree_aux_buffer. This will allow us to switch over to not allocating a miptree. Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ben Widawsky <[email protected]>
* i965/hiz: Start to separate miptree out from hiz buffersJordan Justen2015-03-099-31/+79
| | | | | | | | | | | | | | | | | | | | | | | Today we allocate a miptree's for the hiz buffer. We needed this in the past because we would point the hardware at offsets of the hiz buffer. Since the hiz format is not documented, this is not a good idea. Since moving to support layered rendering on Gen7+, we no longer point at an offset into the buffer on Gen7+. Therefore, to support hiz on Gen7+, we don't need a full miptree structure allocated. This patch starts to create a new auxiliary buffer structure (intel_miptree_aux_buffer) that can be a more simplistic miptree side-band buffer associated with a miptree. (For example, to serve the needs of the hiz buffer.) Signed-off-by: Jordan Justen <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Ben Widawsky <[email protected]>
* mesa/scissor: fix typos in debug namesDave Airlie2015-03-101-2/+2
| | | | | | Just noticed this when working on virgl. Signed-off-by: Dave Airlie <[email protected]>
* nvc0: fix wrong max value for driver queriesSamuel Pitoiset2015-03-091-4/+3
| | | | | | | | | | | The maximum value of a Gallium HUD's panel is automatically adjusted when the current value is greater than the max. If we set the pipe_query_driver_info::max_value to UINT64_MAX, the maximum value is never adjusted and this results in a flat line instead of a pretty curve which is correctly scaled. Signed-off-by: Samuel Pitoiset <[email protected]> Reviewed-by: Ilia Mirkin <[email protected]>
* i965: Silence GCC maybe-uninitialized warning.Vinson Lee2015-03-091-1/+1
| | | | | | | | | | brw_shader.cpp: In function ‘bool brw_saturate_immediate(brw_reg_type, brw_reg*)’: brw_shader.cpp:618:31: warning: ‘sat_imm.brw_saturate_immediate(brw_reg_type, brw_reg*)::<anonymous union>::ud’ may be used uninitialized in this function [-Wmaybe-uninitialized] reg->dw1.ud = sat_imm.ud; ^ Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
* i915: Fix GCC unused-but-set-variable warning in release build.Vinson Lee2015-03-091-4/+1
| | | | | | | | | | i915_fragprog.c: In function ‘i915ValidateFragmentProgram’: i915_fragprog.c:1453:11: warning: variable ‘k’ set but not used [-Wunused-but-set-variable] int k; ^ Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Anuj Phogat <[email protected]>
* Add macro for unused function attribute.Vinson Lee2015-03-093-0/+8
| | | | | | Suggested-by: Emil Velikov <[email protected]> Signed-off-by: Vinson Lee <[email protected]> Reviewed-by: Emil Velikov <[email protected]>
* meta: Plug memory leakBen Widawsky2015-03-091-1/+3
| | | | | | | | | | | | | | | | It looks like this has existed since commit f5a477ab76b6e0b268387699cd2253a43db0dfae Author: Ian Romanick <[email protected]> Date: Mon Dec 16 11:54:08 2013 -0800 meta: Refactor shader generation code out of mipmap generation path Valgrind was complaining on fbo-generatemipmap-formats v2: Instead, do the allocation after the early return block (v2) Signed-off-by: Ben Widawsky <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965/fs: Don't issue FB writes for bound but unwritten color targets.Kenneth Graunke2015-03-091-3/+9
| | | | | | | | | | | | | | | | | | | | | We used to loop over all color attachments, and emit FB writes for each one, even if the shader didn't write to a corresponding output variable. Those color attachments would be filled with garbage (undefined values). Football Manager binds a framebuffer with 4 color attachments, but draws to it using a shader that only writes to gl_FragData[0..2]. This meant that color attachment 3 would be filled with garbage, resulting in rendering artifacts. Now we skip writing to it, fixing rendering. Writes to gl_FragColor initialize outputs[0..nr_color_regions-1] to GRFs, while writes to gl_FragData[i] initialize outputs[i]. Thanks to Jason Ekstrand for tracking this down. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86747 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Jason Ekstrand <[email protected]> Cc: [email protected]
* i965/fs: Make emit_shader_time_end() insert before EOT.Kenneth Graunke2015-03-092-23/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | Previously, we emitted the shader-time epilogue from emit_fb_writes(), during the middle of looping through color regions (or emit_urb_writes for the VS). This is duplicated several times and rather awkward. I need to fix a bug in our FB write handling, and it will be a lot easier if we move emit_shader_time_end() out of there. Now, we simply emit FB writes/URB writes, and subsequently have emit_shader_time_end() insert instructions before the final SEND with EOT. Not only is this simpler, it's actually a slight improvement: we now include the MOVs to set up the final FB write payload in our shader-time measurements. Note that INTEL_DEBUG=shader_time only exists on Gen7+, and uses send-from-GRF. (In the past, we might have hit trouble where both attempt to use MRFs for messages; that's not a problem now.) v2: Rebase on v3 of the previous patch and other shader_time fixes. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> [v1] Acked-by: Matt Turner <[email protected]> Cc: [email protected]
* i965/fs: Make get_timestamp() pass back the MOV rather than emitting it.Kenneth Graunke2015-03-092-5/+16
| | | | | | | | | | | | | This makes another part of the INTEL_DEBUG=shader_time code emittable at arbitrary locations, rather than just at the end of the instruction stream. v2: Don't lose smear! Caught by Topi Pohjolainen. v3: Don't set smear on the destination of the MOV. Thanks Topi! Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Cc: [email protected]
* i965/fs: Make emit_shader_time_write return rather than emit.Kenneth Graunke2015-03-092-10/+8
| | | | | | | | | | | | Instead of emit_shader_time_write, we now do emit(SHADER_TIME_ADD(...)). The advantage is that we can also insert a shader time write at an arbitrary location in the instruction stream, rather than being restricted to emitting at the end. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Topi Pohjolainen <[email protected]> Reviewed-by: Matt Turner <[email protected]> Cc: [email protected]
* i965/fs: Set smear on shader_time diff register.Kenneth Graunke2015-03-091-0/+1
| | | | | | | | | | | | | | The ADD(diff, diff, fs_reg(-2u)) instruction reads diff, which is a width 1 register. We need to read it as <0,1,0> with a subreg of 0, which is what smear accomplishes. Fixes assertion: brw_eu_emit.c:285: validate_reg: Assertion `hstride == 0' failed. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86974 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Cc: [email protected]
* i965/fs: Set force_writemask_all on shader_time instructions.Kenneth Graunke2015-03-091-2/+7
| | | | | | | | | | | | These computations don't have anything to do with the currently executing channels, so they should use force_writemask_all. This fixes assert failures. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=86974 Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Matt Turner <[email protected]> Cc: [email protected]
* r600g: Use R600_MAX_VIEWPORTS instead of 16Alexandre Demers2015-03-095-12/+14
| | | | | | | | | | | Lets define R600_MAX_VIEWPORTS instead of using 16 here and there in the code when looping through viewports and scissors. It is easier to understand what this number represents. v2: Missed a case where R600_MAX_VIEWPORTS should have been used. Signed-off-by: Alexandre Demers <[email protected]> Signed-off-by: Marek Olšák <[email protected]>
* i915: Remove unused IS_GEN2 macroIan Romanick2015-03-091-5/+0
| | | | | | | | Inspired by Damien's recent libdrm changes. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Damien Lespiau <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* i915: Remove (mostly) unused IS_915 macroIan Romanick2015-03-091-5/+3
| | | | | | | | Inspired by Damien's recent libdrm changes. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Damien Lespiau <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* i915: Remove (mostly) unused IS_PNV, IS_PNVG, and IS_PNVGM macrosIan Romanick2015-03-091-5/+3
| | | | | | | | Inspired by Damien's recent libdrm changes. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Damien Lespiau <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* i915: Remove IS_9XX macroIan Romanick2015-03-092-5/+2
| | | | | | | | | Since the i915 / i965 split, IS_9XX just means IS_GEN3. Inspired by Damien's recent libdrm changes. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Damien Lespiau <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* i915: Remove unused IS_MOBILE macroIan Romanick2015-03-091-10/+0
| | | | | | | | Inspired by Damien's recent libdrm changes. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Damien Lespiau <[email protected]> Reviewed-by: Jordan Justen <[email protected]>
* i965: Don't write past the end of the application supplied bufferIan Romanick2015-03-091-7/+12
| | | | | | | | | | | | | | | | | | | | | | Both the AMD and Intel APIs provide a dataSize parameter, and this function would merrily ignore it. Neither API specifies what to do when the buffer isn't big enough. I take the easy route of writing all the complete bits of data that will fit. With more complete specs, we could probably do something different. I noticed this while looking into an unused parameter warning. The warning was actually useful! brw_performance_monitor.c: In function 'brw_get_perf_monitor_result': brw_performance_monitor.c:1261:37: warning: unused parameter 'data_size' [-Wunused-parameter] GLsizei data_size, ^ v2: Fix checks to include offset in the calculation. Noticed by Jan. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]> Reviewed-by: Jan Vesely <[email protected]>
* i965: Silence unused parameter warningIan Romanick2015-03-091-0/+1
| | | | | | | | | | | | | | All dd functions take a gl_context as the first parameter. Instead of removing it, just silence the warning. brw_performance_monitor.c: In function 'brw_new_perf_monitor': brw_performance_monitor.c:1354:41: warning: unused parameter 'ctx' [-Wunused-parameter] brw_new_perf_monitor(struct gl_context *ctx) ^ Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Carl Worth <[email protected]> Reviewed-by: Jordan Justen <[email protected]>