summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* configure: drop --with-egl-driver-dir switchEmil Velikov2014-09-273-9/+2
| | | | | | | | | | | | The location of the egl driver(s) is matter that we should have never exposed to the user. Currently the dri2 driver is built into the libEGL loader, with the gallium based one soon to follow. v2: Fold EGL_DRIVER_INSTALL_DIR within the makefiles. Suggested by Matt. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=80615 Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* configure: remove non-functional --with-opencl-libdirEmil Velikov2014-09-271-8/+0
| | | | | | | | | | | | | | | | | | | | | The parameter used to control where the gallium pipe-drivers were installed, but was broken since commit 45270fb0fd1abd7619933c2845f9dc74cdfbe6fd Author: Matt Turner <mattst88@gmail.com> Date: Thu Sep 13 10:45:01 2012 -0700 targets/pipe-loader: Convert to automake Considering that nowadays the pipe-drivers can be used by more than just the opencl target, even fixing this up will not be the best idea. Cc: Matt Turner <mattst88@gmail.com> Cc: Francisco Jerez <currojerez@riseup.net> Buzilla: https://bugs.freedesktop.org/show_bug.cgi?id=61415 Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com>
* glsl: Strip arrayness from ir_type_dereference_variable tooIan Romanick2014-09-261-1/+1
| | | | | | | | | | | | If the thing being dereferenced is a record or an array of records, it should be treated as row-major. The ir_type_derference_record path already does this, and I think I intended to do the same for this path in b17a4d5d. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83741 Cc: mesa-stable@lists.freedesktop.org
* glsl: Round struct size up to at least 16 bytesIan Romanick2014-09-261-1/+1
| | | | | | | | | | | Per rule #9, the size of the structure is vec4 aligned. The MAX2 in the loop ensures that sizes >= 16 bytes are vec4 aligned. The new MAX2 after the loop ensures that sizes < 16 bytes are vec4 aligned. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82932 Cc: mesa-stable@lists.freedesktop.org
* glsl: Make sure row-major array-of-structure get correct layoutIan Romanick2014-09-261-1/+8
| | | | | | | | | | | Whether or not the field is row-major (because it might be a bvec2 or something) does not affect the array itself. We need to know whether an array element in its entirety is row-major. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83506 Cc: mesa-stable@lists.freedesktop.org
* glsl: Make sure fields after small structs have correct paddingIan Romanick2014-09-261-0/+22
| | | | | | | | | | | Previously the linker would correctly calculate the layout, but the lower_ubo_reference pass would not apply correct alignment to fields following small (less than 16-byte) nested structures. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Jordan Justen <jordan.l.justen@intel.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83533 Cc: mesa-stable@lists.freedesktop.org
* ilo: give gen6_draw_session a better prefixChia-I Wu2014-09-266-74/+74
| | | | | | gen6_draw_session is not GEN dependent. Rename it to ilo_render_draw_session. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: make ilo_render opaqueChia-I Wu2014-09-267-94/+90
| | | | | | | It is not used outside the render code. There are also too many details in it that we do not want other components to access directly. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: make ilo_render_emit_draw() directChia-I Wu2014-09-268-295/+174
| | | | | | | Remove emit_draw() and ILO_RENDER_DRAW indirections. With all emit functions being direct now, ilo_render_estimate_size() and more can also be removed. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: make ilo_render_emit_rectlist() directChia-I Wu2014-09-266-53/+84
| | | | | | Remove emit_rectlist() and ILO_RENDER_RECTLIST indirections. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: clean up draw and rectlist state emissionChia-I Wu2014-09-266-812/+972
| | | | | | | | | | | | | | | | Add these new high-level functions ilo_render_get_draw_dynamic_states_len() ilo_render_emit_draw_dynamic_states() ilo_render_get_rectlist_dynamic_states_len() ilo_render_emit_rectlist_dynamic_states() ilo_render_get_draw_surface_states_len() ilo_render_emit_draw_surface_states() for draw and rectlist state emission. They are implemented in the new ilo_render_dynamic.c and ilo_render_surface.c. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: sanity check ilo_render_get_*_len()Chia-I Wu2014-09-261-5/+12
| | | | | | Assert that we never write more than what ilo_render_get_*_len() returns. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: simplify ilo_render_get_query_len()Chia-I Wu2014-09-261-25/+12
| | | | | | | For all supported query types, we always emit a PIPE_CONTROL. Call ilo_render_get_flush_len() for simplicity and clarity. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: make ilo_render_emit_query() directChia-I Wu2014-09-266-173/+159
| | | | | | Remove emit_query() and ILO_RENDER_QUERY indirections. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: make ilo_render_emit_flush() directChia-I Wu2014-09-266-54/+61
| | | | | | Remove emit_flush() and ILO_RENDER_FLUSH indirections. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: simplify ilo_render invalidationChia-I Wu2014-09-267-86/+83
| | | | | | | | | ilo_render is based on ilo_builder. We should only care if the builder buffers are invalidated, or if the hardware context is invalidated. Replace ilo_render_invalidate() with flags by ilo_render_invalidate_builder() and ilo_render_invalidate_hw(). Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: add ilo_builder_{dynamic,surface}_used()Chia-I Wu2014-09-261-0/+15
| | | | | | Return how many DWords are used in dynamic and surface buffers respectively. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: rename state buffer to dynamic bufferChia-I Wu2014-09-264-26/+26
| | | | | | | Both dynamic buffer and surface buffer are state buffers. We should not use state buffer to refer to the former. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: constify ilo_render in ilo_render_get_sample_position()Chia-I Wu2014-09-262-2/+2
| | | | | | It is a getter and is not supposed to modify ilo_render. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: rename 3d_pipeline to renderChia-I Wu2014-09-2610-883/+884
| | | | | | Follow the file renaming. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: remove struct ilo_3dChia-I Wu2014-09-266-232/+167
| | | | | | | | Move members of ilo_3d that still make sense to ilo_context. With ilo_3d gone, rename functions whose names begin with ilo_3d to something more appropriate. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: rename ilo_3d_pipeline*.[ch] to ilo_render*.[ch]Chia-I Wu2014-09-268-24/+24
| | | | | | They are used to build render engine commands, which can be more than 3D. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* ilo: rename ilo_3d.[ch] to ilo_draw.[ch]Chia-I Wu2014-09-266-9/+9
| | | | | | | There is not much left in struct ilo_3d. We want to kill it and ilo_3d.[ch] will be bad names. Signed-off-by: Chia-I Wu <olvaffe@gmail.com>
* st/mesa: Use PIPE_USAGE_STAGING for GL_STATIC/DYNAMIC/STREAM_READ buffersMichel Dänzer2014-09-261-3/+5
| | | | | | | | | Such buffers can only be useful by reading from them with the CPU, so we need to make sure CPU reads are fast. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84178 Reviewed-by: Marek Olšák <marek.olsak@amd.com> Cc: mesa-stable@lists.freedesktop.org
* glsl: remove unused link_assign_uniform_block_offsetsTapani Pälli2014-09-262-37/+0
| | | | | | | ubo offsets are assigned by link_uniform_blocks since 514f8c7e Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* glsl: Structures must have same name to be considered same type.Kalyan Kondapally2014-09-262-0/+22
| | | | | | | | | | | | | | | | | | | According to GLSL(4.2) and GLSL-ES (1.0, 3.0) spec, Structures must have the same name to be considered same type. We currently ignore the name check while checking if two records are same. This patch fixes this. Patch fixes failing tests in WebGL conformance test 'shaders-with-uniform-structs' when running Chrome on OpenGL ES. v2: Do not force name comparison with unnamed types (Tapani) v3: Cleanups (Matt) Signed-off-by: Kalyan Kondapally <kalyan.kondapally@intel.com> Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Matt Turner <mattst88@gmail.com> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=83934
* glsl: fix uniform location count used for glsl typesTapani Pälli2014-09-262-9/+12
| | | | | | | | | Patch fixes the slot count used by vector types and adds 1 slot to be used by image and sampler types. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Francisco Jerez <currojerez@riseup.net> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=82921
* gm107/ir: take relative pfetch offset into accountIlia Mirkin2014-09-261-1/+4
| | | | | | | | | There is no dedicated instruction for this, so just combine it with the constant offset. Acked-by: Ben Skeggs <bskeggs@redhat.com> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.3" <mesa-stable@lists.freedesktop.org>
* gallivm: More fallout from disabling with LLVM 3.6Michel Dänzer2014-09-268-15/+26
| | | | | | | | The draw module would still try to use gallivm, causing many piglit tests to fail with an assertion failure. llvmpipe might have been similarly affected. Reviewed-by: Tom Stellard <thomas.stellard@amd.com>
* gm107/ir: add support for indirect const buffer selectionIlia Mirkin2014-09-251-0/+14
| | | | | | | | This was missed in the commit that enabled it for fermi/kepler as part of ARB_gpu_shader5 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.3" <mesa-stable@lists.freedesktop.org>
* gm107/ir: fix texture argument orderIlia Mirkin2014-09-252-5/+34
| | | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.3" <mesa-stable@lists.freedesktop.org>
* gm107/ir: fix manual TXD for array targetsIlia Mirkin2014-09-251-2/+3
| | | | | | | This parallels the fixes in commit afea9bae. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.3" <mesa-stable@lists.freedesktop.org>
* nouveau: fix glCompressedTexImageIlia Mirkin2014-09-251-13/+52
| | | | | | | | mesa_texstore expects pixel data, not compressed data. For compressed textures, we want to just copy the bits in without any conversion. Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Acked-by: Francisco Jerez <currojerez@riseup.net>
* nv50/ir: avoid deleting pseudo instructions too earlyIlia Mirkin2014-09-251-1/+10
| | | | | | | | | | | What happens is that a SPLIT operation is part of the spill node, and as a pseudo op, the instruction gets erased after processing its first def. However the later defs still need to refer to it, so instead delay deleting until after that whole RA node is done processing. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79462 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Cc: "10.2 10.3" <mesa-stable@lists.freedesktop.org>
* mesa/st: NumLayers is only valid for array texturesIlia Mirkin2014-09-253-3/+5
| | | | | | | | | | | For 3d textures, NumLayers is set to 1, which is not what we want. This fixes the newly added gl-layer-render-storage test (which constructs immutable 3d textures). Fixes regression introduced in d82bd7eb060. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=84145 Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Tested-by: Michel Dänzer <michel.daenzer@amd.com> Acked-by: Chris Forbes <chrisf@ijw.co.nz>
* nv50/ir: add some comments on edge classificationIlia Mirkin2014-09-251-0/+10
| | | | Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* nv50,nvc0: fix 3d blit logic for odd depth/stencil formatsIlia Mirkin2014-09-252-7/+18
| | | | | Reported-by: David Heidelberger <david.heidelberger@ixit.cz> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* nv50,nvc0: add missing depth/stencil formats to tile flag selectionIlia Mirkin2014-09-252-0/+8
| | | | | Reported-by: David Heidelberger <david.heidelberger@ixit.cz> Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu>
* vc4: Switch from errx() to fprintf() and abort().Eric Anholt2014-09-252-8/+15
| | | | | | | | These are pretty catastrophic, "should never happen" failure paths (though 4 tests in piglit hit them currently, due to a single bug). An abort() that you can gdb on easily is probably more useful than a clean exit, particularly since a bug in piglit framework right now is causing early exit(1)s to simply not be recorded in the results at all.
* vc4: Fix miplevel validation for raster textures.Eric Anholt2014-09-251-1/+1
| | | | | We were using the un-minified value, meaning we'd reject correctly laid out textures.
* mesa: Replace IS_NEGATIVE(x) with x < 0.0f.Matt Turner2014-09-255-21/+10
| | | | | | | | I only made IS_NEGATIVE(x) use signbit in commit 0f3ba405 in an attempt to fix 54805, but it didn't help. We didn't use signbit on some platforms and instead defined it to x < 0.0f. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
* radeon: Use PRINTLIKE macro.Matt Turner2014-09-251-8/+1
|
* configure.ac: Replace gallium_check_st with gallium_require_drm.Matt Turner2014-09-251-13/+10
|
* configure.ac: Drop gallium directory tracking.Matt Turner2014-09-251-78/+0
| | | | | | Was only tracked to be printed at the end of configure, but configure quits if it can't build something we requested, rather than silently dropping it, so printing these directories has little use.
* configure.ac: Use autoconf macro for GNU make.Matt Turner2014-09-252-1/+79
|
* ralloc: Mark ralloc functions with gcc's malloc attribute.Matt Turner2014-09-253-8/+15
| | | | | | | Cuts a few hundred bytes from the DRI drivers, so it must give gcc some extra information. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Replace a priori knowledge of gcc attributes with configure tests.Matt Turner2014-09-255-10/+240
| | | | | | | | Note that I had to add support for testing the packed attribute to m4/ax_gcc_func_attribute.m4. Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com> [C bits] Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* mesa: Replace a priori knowledge of gcc builtins with configure tests.Matt Turner2014-09-256-33/+57
| | | | | | | | | | | | | | Presumbly this will let clang and other compilers use the built-ins as well. Notice two changes specifically: - in _mesa_next_pow_two_64(), always use __builtin_clzll and add a static assertion that this is safe. - in macros.h, remove the clang-specific definition since it should be able to detect __builtin_unreachable in configure. Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com> [C bits] Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* i965/compaction: Document instruction compaction capabilities.Matt Turner2014-09-251-0/+35
| | | | | | Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
* i965: Emit ELSE/ENDIF JIP with type D on Gen 7.Matt Turner2014-09-251-2/+2
| | | | | | | | | | The spec says the type must be W (JIP is 16-bits after all), but we've been emitting it with a UD type all along and have experienced no adverse effects. Changing the type to D allows ELSE and ENDIF instructions to be compacted. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Jason Ekstrand <jason.ekstrand@intel.com>