summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* radeon-llvm: Start multithreaded before using llvm.Mathias Fröhlich2012-08-201-0/+15
| | | | | | | | | | | | | | | | | | | This is required to make some of llvm's api calls thread save. In particular the PassRegistry, which is implicitly accessed while compiling shader programs. The PassRegistry uses a mutex that is only active if the llvm_is_multithreaded() returns true. Calling llvm_start_multithreading() makes this happen and by calling this function we try to make sure that we can savely compile shaders in paralell. Since there is also a call llvm_stop_multithreading() in the llvm api, we cannot guarantee that this does not get switched off while we are relying on this being set, but for the easier use cases this fixes a race with the radeon llvm compiler we have as of today. Signed-off-by: Mathias Froehlich <[email protected]> Signed-off-by: Tom Stellard <[email protected]>
* r600g: Move common compute/3D register init to its own functionarchibald2012-08-203-170/+219
| | | | Signed-off-by: Tom Stellard <[email protected]>
* nv50/ir/tgsi: handle DP2 in tgsi Instruction srcMaskChristoph Bumiller2012-08-181-0/+2
| | | | Solved by Tiziano Bacocco on IRC.
* nv50/ir/emit: don't forget saturation bit on f32 add immediateChristoph Bumiller2012-08-181-0/+2
| | | | Solved by Maxim Levitsky on IRC.
* mesa: use #if over #ifdef in the FEATURE_ES1 check to fix a build failure.Tilman Sauerbeck2012-08-181-1/+1
| | | | | | | | mfeatures.h will define FEATURE_ES1 to 0 if it's not defined yet. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=53664 Signed-off-by: Brian Paul <[email protected]>
* st/mesa: fix sampler view countingBrian Paul2012-08-181-2/+9
| | | | | | | | | | | | | | | | | In the past, when we called pipe::set_sampler_views(n) the drivers set samplers [n..MAX] to NULL. We no longer do that. The state tracker code was already trying to set unused sampler views to NULL to cover that case, but the logic was broken and unnoticed until now. This patch fixes it. Strictly speaking, this patch shouldn't be necessary. Drivers should simply ignore unused samplers and sampler views. But some drivers like llvmpipe (and others?) count those things and they figure into state validation. That could be fixed in the future. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53617 Reviewed-by: Marek Olšák <[email protected]>
* util: update and fix u_upload_mgr.h commentsBrian Paul2012-08-181-4/+3
|
* st/mesa: use Elements() instead of hard-coded numberBrian Paul2012-08-181-1/+4
| | | | And add a comment about the velems_util_draw[] array.
* mesa: remove unused params, add const qualifiersBrian Paul2012-08-181-5/+4
| | | | | Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: querying GL_TEXTURE_COMPRESSED_IMAGE_SIZE for a buffer obj is illegalBrian Paul2012-08-181-7/+3
| | | | | | | | | GL_INVALID_OPERATION is to be raised when querying a non-compressed image/buffer. Since a buffer object can't have a compressed format this query always generates an error. Reviewed-by: Ian Romanick <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa/es: Don't generate ES1 type conversion wrappersIan Romanick2012-08-175-2/+1675
| | | | | | | | | | These are gradually going to get whittled away and eventually folded into the source files with the native type functions. v2: Add (speculative) SConscript changes. These may be broken. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]>
* i965: Fix bug in the old FS backend's projtex() calculation.Eric Anholt2012-08-171-3/+1
| | | | | | | | | | | | In the old backend, we looked at any FS attribute's proj_attrib_mask bits, not just texcoords. Now that we have _mesa_vert_result_to_frag_attrib(), we can fill in the other FS inputs with correct proj_attrib_mask info. NOTE: This is a candidate for stable branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=46644 Signed-off-by: Eric Anholt <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* mesa: Support GL_TEXTURE_BUFFER in GetTexLevelParameter[if]v in GL 3.1+.Kenneth Graunke2012-08-172-1/+130
| | | | | | | | | | | | | | | | | | | | | The OpenGL 3.1 specification explicitly allows this. Oddly, the ARB_texture_buffer_object spec's issues section claims this isn't allowed, but proceeds to explain that the extension simply doesn't edit the underlying spec to allow it, and thus it didn't appear in the list of legal texture targets. Thus, this patch legalizes it only in 3.1+ contexts, but still returns INVALID_ENUM in earlier contexts that expose ARB_texture_buffer_object. Unfortunately, the behavior of the call is horrendously undefined. Fixes oglconform's tbo/negative.textureParams test. v2: Require desktop OpenGL. Signed-off-by: Kenneth Graunke <[email protected]> Signed-off-by: Eric Anholt <[email protected]> Signed-off-by: Ian Romanick <[email protected]>
* mesa: Split out part of glGetTexLevelParameter into a helper function.Kenneth Graunke2012-08-171-42/+52
| | | | | | | | | | Move the _mesa_GetTexLevelParameter[iv] functions below the helper function so the prototype is available. This will be useful in the next commit. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add GL_TEXTURE_CUBE_MAP to _mesa_max_texture_levels(). [v2]Kenneth Graunke2012-08-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | For cube maps, _mesa_generate_mipmap() calls this with GL_TEXTURE_CUBE_MAP (the gl_texture_object's Target) rather than one of the faces. This caused _mesa_max_texture_levels() to return 0, which resulted in maxLevels == -1 and the next line's assertion to fail. This function is called from seven places: - fbobject.c: framebuffer_texture() - mipmap.c: _mesa_generate_mipmap() - texgetimage.c: - getteximage_error_check() - getcompressedteximage_error_check() - texparam.c: _mesa_GetTexLevelParameteriv() - texstorage.c: tex_storage_error_check() All of these (or their callers) now explicitly check for invalid targets already, so this shouldn't cause invalid targets to slip through. (Technically _mesa_generate_mipmap() doesn't check for invalid targets, but the API-facing _mesa_GenerateMipmapEXT() function does.) +2 oglconforms (float-texture/mipmap.automatic and mipmap.manual) In addition to fixing the mipmap bug, it should also cause glTexStorage to accept GL_TEXTURE_CUBE_MAP, which is explicitly allowed by the spec. v2: Drop alterations to callers; this is now in a patch series that adds explicit checking to API functions. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add explicit target checking to GetTexLevelParameter[if]v().Kenneth Graunke2012-08-171-3/+38
| | | | | | | | | | | | | | Previously, it relied on _mesa_max_texture_levels() for texture target error checking. This was somewhat dodgy, as _mesa_max_texture_levels() is called in seven diferent places, not all of which necessarily accept the same list of targets. I copied the list of legal targets from _mesa_max_texture_levels(), so this patch should not introduce any change in behavior. Future patches will cause the two to diverge. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* mesa: Add explicit target checking to Get[Compressed]TexImage().Kenneth Graunke2012-08-171-10/+35
| | | | | | | | | | | | | | | | Previously, they relied on _mesa_max_texture_levels() for texture target error checking. This was somewhat dodgy, as _mesa_max_texture_levels() is called in seven diferent places, not all of which necessarily accept the same list of targets. I copied the list of legal targets from _mesa_max_texture_levels() but removed the proxy targets, as both functions explicitly rejected those targets. This changes the order in which we check errors, which could change whether we return INVALID_VALUE or INVALID_ENUM. However, it shouldn't change the list of accepted targets. Signed-off-by: Kenneth Graunke <[email protected]> Reviewed-by: Ian Romanick <[email protected]>
* llvmpipe: remove polygon stipple assertionBrian Paul2012-08-171-2/+0
| | | | | | | It's possible for us to have an unused sampler bound when the fragment shader itself doesn't use any samplers. So the assertion isn't valid. Fixes http://bugs.freedesktop.org/show_bug.cgi?id=53616
* svga: minor code reformattingBrian Paul2012-08-161-2/+3
| | | | To be consistent with other functions.
* build: Remove -shared from OSMesa's LDFLAGSMatt Turner2012-08-161-1/+1
| | | | Would break the static build.
* build: Remove EXTRA_LIB_PATHMatt Turner2012-08-166-29/+24
| | | | You can add extra library paths to LDFLAGS directly.
* build: Require X11 pkg-config filesMatt Turner2012-08-161-69/+16
|
* r600g: disable tiling for 422 formats againMarek Olšák2012-08-161-0/+4
|
* r600g: fix blits of subsampled formatsMarek Olšák2012-08-161-20/+63
|
* r600g: fix copying between NPOT mipmapped compressed texturesMarek Olšák2012-08-161-2/+3
| | | | | | | | | We aligned the dimensions to the blocksize, then divided by it (in r600_blit.c), then minified, which was wrong. The minification must be done first, not last. This fixes piglit/fbo-generatemipmap-formats with S3TC and maybe a bunch of other tests too. Tested on RV730.
* r600g: make F2U trans-only on r600-r700Marek Olšák2012-08-161-1/+1
| | | | This fixes a failing assertion in r600_asm.c.
* r600g: set CB_COLOR_INFO to INVALID for disabled colorbuffers on r600-r700Marek Olšák2012-08-161-0/+3
| | | | Reviewed-by: Michel Dänzer <[email protected]>
* r600g: rename r600_resource_texture to r600_textureMarek Olšák2012-08-169-48/+48
|
* r600g: always put tiled textures in VRAMMarek Olšák2012-08-161-1/+2
|
* r600g: cleanup r600_resource_texture in favor of radeon_surfaceMarek Olšák2012-08-165-29/+20
|
* r600g: remove unused parameter in r600_texture_create_objectMarek Olšák2012-08-161-3/+2
|
* r600g: fixup the usage flag for the flushed depth textureMarek Olšák2012-08-161-1/+1
|
* wayland-drm: close fd after the display is uninitializedPhilipp Brüschweiler2012-08-161-2/+3
| | | | | | | This fixes a "kernel rejected pushbuf: Bad file descriptor" error on wl_drm display destruction. Reviewed-by: Kristian Høgsberg <[email protected]>
* scons: Fix MinGW cross compilation.José Fonseca2012-08-161-3/+22
| | | | | Compensate for the recent changes and assumptions added to Makefiles.sources
* radeon/llvm: Lower implicit parameters before ISelTom Stellard2012-08-163-69/+42
|
* gallium/draw: move misplaced braceBrian Paul2012-08-161-1/+1
|
* mesa: raise GL_INVALID_OPERATION in glGenerateMipmap for missing base imageBrian Paul2012-08-161-0/+2
| | | | | | | | | | | | This seems to be expected by the WebGL texture-mips test. The error makes sense, but I haven't found (yet) any OpenGL documentation specifying this error condition. See http://bugs.freedesktop.org/show_bug.cgi?id=44912 Note: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* r600: update sampler, sampler_view code for the futureBrian Paul2012-08-164-19/+50
| | | | | | | For when we have pipe->set_sampler_states(pipe, shader, start, num, samplers), etc. Reviewed-by: Marek Olšák <[email protected]>
* rbug: update data structures, functions for future changesBrian Paul2012-08-163-76/+71
| | | | | To support geom/compute/etc shaders, samplers, sampler views, etc. To support pipe->bind_sampler_states() w/ start_slot.
* gallium/trace: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-4/+14
|
* gallium/identity: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-4/+12
|
* galahad: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-41/+57
|
* svga: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-24/+65
|
* llvmpipe: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-22/+45
|
* softpipe: add 'start' parameter to bind_sampler_states/views()Brian Paul2012-08-161-25/+49
| | | | | To support updating a sub-range of sampler states/views in the future. Note that we always pass start=0 at this time.
* gallium/trace: consolidate sampler, sampler_view codeBrian Paul2012-08-161-50/+82
|
* gallium/identity: consolidate sampler, sampler_view codeBrian Paul2012-08-161-32/+54
| | | | This will simplify things when the pipe_context functions are consolidated.
* st/mesa: add support for GS textures and samplersBrian Paul2012-08-164-11/+39
|
* st/mesa: combine vertex/fragment sampler state in arraysBrian Paul2012-08-165-33/+26
| | | | | | As with other recent changes, put the vertex and fragment sampler state into arrays indexed by the shader type. This will let us easily add support for other types of shaders in the future.
* gallium: remove PIPE_MAX_VERTEX/GEOMETRY_SAMPLERS #defineBrian Paul2012-08-1621-49/+41
| | | | | | | | | | | | PIPE_MAX_SAMPLERS, PIPE_MAX_VERTEX_SAMPLERS and PIPE_MAX_GEOMETRY_SAMPLERS were all defined to the same value (16). In various places we're creating arrays such as sampler_views[PIPE_SHADER_TYPES][PIPE_MAX_SAMPLERS] so we were assuming the same number of max samplers for all shader stages anyway. Of course, drivers are still free to advertise different numbers of max samplers for different shaders.