summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2014-05-30st/wgl: add debug code to check that pixel format initialization workedBrian Paul1-3/+9
If the assertion fails, it means something is really broken. Before, if this happened we reverted to the GDI renderer without any warning. Reviewed-by: Matthew McClure <mcclurem@vmware.com>
2014-05-30st/wgl: change PFD_SWAP_COPY to PFD_SWAP_EXCHANGE.Brian Paul1-1/+1
To reflect our actual SwapBuffers implementation. See stw_st_swap_framebuffer_locked(). This fixes various rendering issues with SolidEdge. Reviewed-by: Jose Fonseca <jfonseca@vmware.com>
2014-05-30scons: add common.c as part of glcpp buildTapani Pälli1-1/+1
to have _mesa_error_no_memory function available Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79440 Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2014-05-30mesa: Add missing null checks into prog_hash_table.cJuha-Pekka Heikkila1-0/+8
Check calloc return values in hash_table_insert() and hash_table_replace() Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-05-30glcpp: link with tests/common.cTapani Pälli1-0/+1
So that prog_hash_table can use _mesa_error_no_memory function. Signed-off-by: Tapani Pälli <tapani.palli@intel.com> Reviewed-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com>
2014-05-30mesa/main: Add missing null check in _mesa_CreatePerfQueryINTEL()Juha-Pekka Heikkila1-0/+5
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Petri Latvala <petri.latvala@intel.com>
2014-05-30mesa/drivers: Add extra null check in blitframebuffer_texture()Juha-Pekka Heikkila1-0/+3
If texObj == NULL here it mean there is already GL_INVALID_VALUE or GL_OUT_OF_MEMORY error set to context. Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-05-30glsl: Add null check in loop_analysis.cppJuha-Pekka Heikkila1-2/+4
Check return value from hash_table_find before using it as a pointer Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-05-30mesa: add missing null check in _mesa_NewHashTable()Juha-Pekka Heikkila1-0/+10
Signed-off-by: Juha-Pekka Heikkila <juhapekka.heikkila@gmail.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-05-29loader: add optional /sys filesystem method for PCI identification.Gary Wong1-0/+112
Introduce a simple PCI identification method of looking up the answer the /sys filesystem (available on Linux). Attempted after libudev, but before DRM. Disabled by default (available only when the --enable-sysfs configure option is specified). Signed-off-by: Gary Wong <gtw@gnu.org> Acked-by: Emil Velikov <emil.l.velikov@gmail.com>
2014-05-29loader: allow attempting more than one method of PCI identification.Gary Wong1-18/+46
loader_get_pci_id_for_fd() and loader_get_device_name_for_fd() now attempt all available strategies to identify the hardware, instead of conditionally compiling in a single test. The existing libudev and DRM approaches have been retained, attempting first libudev (if available) and then DRM (if necessary). Signed-off-by: Gary Wong <gtw@gnu.org> Reviewed-by: Emil Velikov <emil.l.velikov@gmail.com>
2014-05-29st/egl: do not link against libloaderEmil Velikov1-1/+0
Move the link to the final targets, like any other place in mesa/gallium. This allows better visibilty and will prevent us from including the library archive twice. Resolves multiple definition of `loader_get_pci_id_for_fd' multiple definition of `loader_get_pci_id_for_fd' Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79263 Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=79382 Cc: Chia-I Wu <olv@lunarg.com> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com> Reviewed-by: Chia-I Wu <olv@lunarg.com> Tested-by: Michel Dänzer <michel.daenzer@amd.com>
2014-05-29egl_dri2: fix wayland_platform when drm_platform is not setEmil Velikov1-4/+6
The build fails with implicit delaration of drmGetCap (xf86drm.h) Were we're including the header only when building the DRM_PLATFORM. Wayland backend can operate without DRM_PLATFORM so replace the guard, and fold in drmGetCap() usage to silence compiler warnings. Cc: Chad Versace <chad.versace@linux.intel.com> Cc: Kristian Høgsberg <krh@bitplanet.net> Signed-off-by: Emil Velikov <emil.l.velikov@gmail.com>
2014-05-29i965/fs: Set correct number of regs_written for MCS fetches.Matt Turner1-3/+3
regs_written is in units of virtual GRFs. Reviewed-by: Chris Forbes <chrisf@ijw.co.nz> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2014-05-29glx: load dri driver with RTLD_LOCAL so dlclose never fails to unloadJerome Glisse1-5/+5
There is no reason anymore to load with RTLD_GLOBAL and for some driver this even result in dlclose failing to unload leading to catastrophic failure with swrast fallback. Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Signed-off-by: Jérôme Glisse <jglisse@redhat.com>
2014-05-28i915g: Support B5G5R5A1 render targets and texturesStéphane Marchesin1-0/+2
2014-05-28i915g: Support R4G4B4A4 render targets and texturesStéphane Marchesin1-0/+2
2014-05-28i915g: Fix copy region codeStéphane Marchesin1-34/+14
This fixes a few issues with it, also cleans up the code.
2014-05-28glsl/tests: remove generated tests from the repoConnor Abbott49-696/+2
They were made unneccesary by the last commit. Signed-off-by: Connor Abbott <cwabbott0@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-28glsl/tests: call create_test_cases.py in optimization-testConnor Abbott1-0/+8
This way, when someone modifies create_test_cases.py and forgets to commit their changes again, people will notice. v2: make sure we parse the right directories and check for existance the right way. v3 (Ken): Use $PYTHON2 instead of calling python directly. Signed-off-by: Connor Abbott <cwabbott0@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-28glsl/tests/lower_jumps: fix generated sexpr's for loopsConnor Abbott1-1/+1
In 088494aa (as well as other commits in the series) Paul Berry modified the tests for lower_jumps to account for the fact that the s-expression for the loop IR instruction changed from (loop () () () () (statements...)) to (loop (statements...)), but he forgot to update create_test_cases.py which he used to create the tests. Fix that, so that now create_test_cases.py is synced with the generated tests. Signed-off-by: Connor Abbott <cwabbott0@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-28glsl: be more consistent about printing constantsConnor Abbott23-48/+40
Make sure that we print the same number of digits when printing 0.0 as any other floating-point number. This will make generating expected output files for tests easier. To avoid breaking "make check," update the generated tests for lower_jumps before the next commit which will bring create_test_cases.py in line with them. Signed-off-by: Connor Abbott <cwabbott0@gmail.com> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-28glsl: replace strncmp("gl_") calls with new is_gl_identifier() helperBrian Paul5-9/+17
Makes things a little easier to read. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-05-28glsl: fix use-after free bug/crash in ast_declarator_list::hir()Brian Paul1-1/+5
The call to get_variable_being_redeclared() may delete 'var' so we can't reference var->name afterward. We fix that by examining the var's name before making that call. Fixes valgrind warnings and possible crash when running the piglit tests/spec/glsl-1.30/execution/clipping/vs-clip-distance-in-param.shader_test test (and probably others). Cc: "10.1 10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2014-05-28i965: Fix repeated usage of rectangle texture coordinate scaling.Kenneth Graunke1-7/+20
Previously, we set up new entries in the params[] array on every access of a rectangle texture. Unfortunately, we only reserve space for (2 * MaxTextureImageUnits) extra entries, so programs which accessed rectangle textures more times than that would write off the end of the array and likely crash. We don't really have a decent mapping between the index returned by _mesa_add_state_reference and our index into the params array, so we have to manually search for it. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78691 Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Cc: mesa-stable@lists.freedesktop.org
2014-05-28egl-static: Fix undefined reference to `loader_*'José Fonseca1-0/+1
Trivial. Better than a broken build.
2014-05-28meta/blit: Use gl_FragColor also in the msaa blit shaderTopi Pohjolainen1-1/+1
Fixes framebuffer_blit_functionality_multisampled_to_singlesampled_blit es3 cts test on bdw. Also fixes this on ivb when ivb is forced to use the meta path. No piglit regressions on IVB. Further input from Ken: "Unfortunately, this doesn't fix MRT for integer data. In the single-sampled case, since we're directly copying data, we were read/copy/write data as "float" values, which actually contained the integer bits. Here, we can't do that since we need to process the actual integer data. I do wonder if we could use intBitsToFloat/uintBitsToFloat to stuff the integer bits in the float gl_FragColor output. Just a crazy idea. In the long term (post 10.2), I think we should draft an extension that allows you to do "layout(location = all)" on user-defined fragment shader outputs. (Or some similar syntax.)" Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Anuj Phogat <anuj.phogat@gmail.com>
2014-05-27nvc0/ir: use SM35 ISA with GK20AAlexandre Courbot3-7/+12
GK20A is mostly compatible with GK104, but uses the SM35 ISA. Use the GK110 path when this chip is detected. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-05-27nvc0: add GK20A 3D classAlexandre Courbot2-1/+9
GK20A is mostly compatible with GK104, but features a new 3D class. Add it to the relevant header and use it when GK20A is detected. Signed-off-by: Alexandre Courbot <acourbot@nvidia.com> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-05-27i965/sf: Replace push/pop in brw_emit_anyprim_setup.Kenneth Graunke1-15/+11
Each of the subroutine emitters alter the predication state, but otherwise don't change anything (or put it back when they do). Resetting predication at the end makes these functions idempotent with regard to the default instruction state - which is a nice property. With that in place, push/pop is no longer necessary. v2: Improve whitespace (requested by Matt). Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-27i965/sf: Drop unnecessary push/pop in copy_z_inv_w.Kenneth Graunke1-4/+0
brw_MOV doesn't alter the default instruction state, so this does nothing. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-27i965/sf: Drop unnecessary push/pop in flatshading code.Kenneth Graunke1-8/+0
brw_JMPI sets predicate_control to BRW_PREDICATE_NONE, but that's already the value coming in. Otherwise, nothing changes state. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-27i965/sf: Move brw_compile::flag_value to brw_sf_compile.Kenneth Graunke3-21/+24
This field is only used to track the current value of the flag register during the SF compile. It has no place in the common compiler code. While we're changing every call, drop the 'brw' prefix from the function since it's static. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-27i965/sf: Move brw_set_predicate_control_flag_value to brw_sf_emit.c.Kenneth Graunke3-19/+14
Only the Gen4-5 SF program compiler actually uses this function; move it there. Soon the fields will be moved out of brw_compile. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-27i965/sf: Drop useless push/pop state from flag register mashing code.Kenneth Graunke1-2/+0
There's no point in pushing and popping the default state; the code between the two stack operations doesn't alter anything. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-27i965/sf: Drop unnecessary push/pop in do_twoside_color.Kenneth Graunke1-2/+0
None of the assembly emitters called between push and pop actually change the state. So, we can drop these. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-27i965: Don't implicitly set predicate default state in brw_CMP.Kenneth Graunke5-39/+33
Previously, brw_CMP with a null destination implicitly set the default state to make future instructions predicated. This is messy and confusing - emitting a CMP that populates the flag register and later using it to predicate instructions are logically separate. With the main compiler, we may even schedule instructions between the CMP and the user of the flag value. This patch simplifies brw_CMP to just emit a CMP instruction, and not mess with predication. It also updates all necessary callers. These mostly fell into two patterns: 1. brw_CMP followed by brw_IF. We don't need to do anything special here; brw_IF already sets up predication appropriately. 2. brw_CMP followed by a single predicated instruction. The old model was to call brw_CMP, emit the next (predicated) instruction, then disable predication for any instructions beyond that. Instead, just explicitly set predicate_control on the single instruction we want to predicate. It's no more code, and requires less cross-module knowledge. This drops setting flag_value to 0xff as well, which is a field only used by the SF compile. There is only one brw_CMP call in the SF code, which is in do_twoside_caller, and called at the start of brw_emit_tri_setup, where flag_value is already 0xff. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-27i965: Drop unnecessary predication default state resets in clip code.Kenneth Graunke1-6/+0
Presumably, this was to reset the default state of predication_control from brw_CMP. But brw_CMP only sets that if dst is ARF null, which it isn't here. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-27i965/sf: Reset flag_value to 0xff before emitting SF subroutines.Kenneth Graunke2-15/+4
When compiling any of the SF program variants, flag_value starts off as 0xff and will be modified when generating code. brw_emit_anyprim_setup emits several subroutines, saving and restoring flag_value across each of them. Since it starts out as 0xff, this is equivalent to simply setting it to 0xff at the start of each subroutine. Resetting the value makes more logical sense; each subroutine doesn't know whether one of the others even executed, much less what it did to the flag register. This also lets us to drop the brw_set_predicate_control_flag_value call from brw_init_compile: predicate is already initialized to BRW_PREDICATE_NONE by the memset, and the value of flag_value is irrelevant (as it's only used by the SF compiler). Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Matt Turner <mattst88@gmail.com>
2014-05-27st/omx/enc: implement restricted b frames patternLeo Liu2-2/+10
Signed-off-by: Leo Liu <leo.liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
2014-05-27radeon/vce: implement non-referenced framesLeo Liu2-3/+5
Signed-off-by: Leo Liu <leo.liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
2014-05-27vl: add interface for non-referenced framesLeo Liu1-0/+2
Signed-off-by: Leo Liu <leo.liu@amd.com> Reviewed-by: Christian König <christian.koenig@amd.com>
2014-05-27i965/meta: Store stencil texturing modeTopi Pohjolainen1-0/+1
Meta path needs to keep the current texture object's state. Fixes the following gles3 cts tests on bdw: framebuffer_blit_functionality_negative_width_blit.test: fail framebuffer_blit_functionality_all_buffer_blit.test: fail framebuffer_blit_functionality_negative_height_blit.test: fail framebuffer_blit_functionality_missing_buffers_blit.test: fail framebuffer_blit_functionality_negative_dimensions_blit.test: fail framebuffer_blit_functionality_minifying_blit.test: fail framebuffer_blit_functionality_magnifying_blit.test: fail Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2014-05-27meta/blit: Add stencil texturing mode save and restoreTopi Pohjolainen2-3/+14
v2 (Ken): Only restore the mode if it has changed. Signed-off-by: Topi Pohjolainen <topi.pohjolainen@intel.com> Cc: "10.2" <mesa-stable@lists.freedesktop.org> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2014-05-26i915g: Fix shader disasm codeStéphane Marchesin1-1/+0
This broke when I separated declarations/shader.
2014-05-26i915g: Fallback to sw for npot copiesStéphane Marchesin1-2/+3
i915g's npot support is incomplete, so let's not use it for copies. This fixes a bunch of piglit tests.
2014-05-26i915g: handle more formats in copyStéphane Marchesin3-11/+91
We can handle depth, luminance,... copies by simply replacing the format with a known format of the same bpp.
2014-05-26nvc0: implement clear_bufferTobias Klausmann1-0/+141
Provide an accelerated path for ARB_clear_buffer_object Signed-off-by: Tobias Klausmann <tobias.johannes.klausmann@mni.thm.de> Reviewed-by: Ilia Mirkin <imirkin@alum.mit.edu>
2014-05-26i965: Switch types D->UD when possible to allow compaction.Matt Turner1-0/+21
Number of compacted instructions: 827404 -> 833045 (0.68%) Reviewed-by: Eric Anholt <eric@anholt.net>
2014-05-26Revert "i965: Don't make instructions with a null dest a barrier to scheduling."Matt Turner1-8/+4
This reverts commit 42a26cb5e441a01d5288b299980f23affaad53fe. Cc: "10.2" <mesa-stable@lists.freedesktop.org> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=78648