summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-08-21android: build st/egl with android backendChia-I Wu2-0/+55
This builds the static library libmesa_st_egl from st/egl.
2011-08-21android: build gallium auxiliariesChia-I Wu4-0/+326
This builds the static library libmesa_gallium from gallium auxiliaries.
2011-08-21android: build libGLES_mesaChia-I Wu2-0/+139
This is the first step to integrate Mesa into Android(-x86) build system. You can git clone mesa under the external/ directory of Android source tree and build Android with $ make BOARD_GPU_DRIVERS=swrast It will build libGLES_mesa that will be loaded by Android runtime. libGLES_mesa is still a stub in this commit.
2011-08-21targets/egl-static: do not rely on libudev on AndroidChia-I Wu1-0/+64
There is no libudev on Android. Use DRM to get the PCI ID directly. Reviewed-by: Benjamin Franzke <benjaminfranzke@googlemail.com>
2011-08-21st/egl: add android backendChia-I Wu5-0/+781
Both HW and SW rendering are supported for Android. For SW rendering, we use the generic gralloc lock/unlock for mapping and unmapping color buffers (in winsys/android). For HW rendering, we need to know the real type of color buffers. This backend works with drm_gralloc, where a color buffer is backed by a GEM object.
2011-08-21winsys/android: new SW winsys for AndroidChia-I Wu2-0/+320
On Android, color buffers are passed between server and clients as opaque buffer_handle_t. This winsys makes use of gralloc, which provides a generic way to map and unmap buffer_handle_t for CPU access.
2011-08-21egl: add Android-specific extensionsChia-I Wu5-0/+53
Add EGL_ANDROID_image_native_buffer and EGL_ANDROID_swap_rectangle. There is no spec for them though. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-21egl: add _EGL_PLATFORM_ANDROIDChia-I Wu3-1/+12
This is Android Gingerbread platform. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-21mesa: android has no log2f nor ffsChia-I Wu1-1/+7
Define log2f(v) to be logf(v) / M_LN2 and ffs to __builtin_ffs. Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-21ralloc: include limits.h for SIZE_MAX on AndroidChia-I Wu1-0/+5
Android does not define SIZE_MAX in stdint.h. We have to include limits.h for it. Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-21gallium: add PIPE_OS_ANDROID supportChia-I Wu4-2/+22
Android uses Linux kernel and its own C runtime. It resembles PIPE_OS_LINUX a lot with some minor exceptions. Reviewed-by: Brian Paul <brianp@vmware.com>
2011-08-21glsl: remove an unnecessary header includeChia-I Wu1-1/+0
Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-21mesa: fix !FEATURE_GL buildChia-I Wu1-18/+18
Move vbo_exec_FlushVertices_internal out of FEATURE_beginend. Reviewed-by: Brian Paul <brianp@vmware.com> Reviewed-by: Chad Versace <chad@chad-versace.us>
2011-08-20i965/gen7: Use align1 mode to set URB_WRITE_HWORD channel enables.Kenneth Graunke1-0/+3
Makes the new vertex shader backend work on Ivybridge. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Eric Anholt <eric@anholt.net>
2011-08-19i965/fs: Don't double-convert integer/boolean uniforms.Kenneth Graunke1-16/+20
When ctx->Const.NativeIntegers is set, Core Mesa loads integer/boolean uniforms directly, rather than loading the floating point equivalent. So, when that's set, we don't need to perform any conversions. Unfortunately, we can't properly support native integers with the old vertex shader backend, so this patch leaves them disabled for now. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2011-08-19mesa, glsl_to_tgsi: Add new gl_context::NativeIntegers flag.Kenneth Graunke3-27/+37
Previously, native integer support was based on whether the driver advertised GLSL 1.30 or not. However, drivers that natively support integers may wish to do so for older GLSL versions as well. Adding this new opt-in flag allows them to do so. Currently disabled by default on all drivers, which was the existing behavior (no drivers currently implement GLSL 1.30). Fixes piglit tests on i965 with INTEL_GLSL_VERSION=130 set: - spec/glsl-1.10/fs-uniform-int-110.shader_test - spec/glsl-1.30/fs-uniform-int-130.shader_test (it was doubly converting the data) Signed-off-by: Kenneth Graunke <kenneth@whitecape.org> Reviewed-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2011-08-19ir_to_mesa: Remove incorrect usage of the 'struct' keyword on classes.Kenneth Graunke1-2/+2
Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2011-08-19i965/fs: Change incorrect use of 'struct fs_reg' to simply 'fs_reg'.Kenneth Graunke1-1/+1
It's actually a class. Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
2011-08-19glsl: Remove unused variable.Kenneth Graunke1-1/+0
2011-08-19i965/vs: Implement proper register allocation instead of 1:1 mapping.Eric Anholt2-1/+155
Fixes vs-atan-* and several others. This is not the real solution we eventually want, which will pack floats, vec2s, and vec3s into vec4 registers, but this code should provide the framework for that.
2011-08-19i965/vs: Add simple dead code elimination.Eric Anholt3-0/+38
This is copied right from the fragment shader. It is needed for real register allocation to work correctly.
2011-08-19i965/vs: Copy the live intervals calculation over from the FS.Eric Anholt4-0/+139
This is a rather pessimistic calculation, since it doesn't distinguish individual channels of a vec4, or elements of an array, but should be a minimum start for register allocation.
2011-08-19i965/vs: Remove stale comment about compressed instructions.Eric Anholt1-1/+0
This was copy'n'paste from the fragment shader, and didn't make sense here.
2011-08-19r600g: don't allocate separate depth and stencil for transfer textures on EGMarek Olšák1-1/+2
The state tracker expects depth and stencil pixels interleaved. Evergreen can bind an interleaved depth-stencil resource as a colorbuffer, but not as a zbuffer. The hardware can do the interleaving for us when decompressing.
2011-08-19r600g: finally enable float depth buffers on evergreenMarek Olšák1-0/+11
2011-08-19r600g: rename resource -> view in create_sampler_viewMarek Olšák2-32/+26
The sampler view is not a resource. Also remove the unused desc variable.
2011-08-19r600g: hack around a problem with texture alignmentMarek Olšák1-0/+10
2011-08-19r600g: simplify the conditionals determining array modeMarek Olšák1-20/+11
2011-08-19r600g: put depth and stencil into one backing bufferMarek Olšák1-10/+17
For DRI2 sharing.
2011-08-19r600g: fix depth-stencil on evergreenMarek Olšák4-55/+99
Such that it actually works in apps which use both. A separate buffer is allocated for stencil. The only exception is the window-system-provided depth-stencil buffer, where depth and stencil share the same buffer. This fixes: - fbo-depthstencil-GL_DEPTH24_STENCIL8-clear - fbo-depthstencil-GL_DEPTH24_STENCIL8-drawpixels-FLOAT-and-USHORT - fbo-depthstencil-GL_DEPTH24_STENCIL8-readpixels-24_8 - fbo-depthstencil-GL_DEPTH24_STENCIL8-readpixels-FLOAT-and-USHORT
2011-08-19mesa: handle array textures in GenerateMipmap(), FramebufferTexture1/2D()Brian Paul1-3/+21
This was an unfinished to-do item before. With this patch and the two preceeding patches, piglit's fbo-generatemipmap-array test runs and passes instead of generating a GL error and dying on an assertion. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-08-19meta: use fallback mipmap generation for 1D/2D texture arraysBrian Paul1-2/+5
We could do 1D/2D arrays with textured quad rendering, but it'll take some work (as with 3D textures). Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-08-19mesa: set Q=1 for OPCODE_TEX executionBrian Paul1-0/+8
Q should not be significant for OPCODE_TEX, but it winds up getting passed to the compute_lambda() function. Make sure it's 1.0 to prevent garbage values, which is effectively what we get when the swizzle is coord.xyzz (which is what GLSL gives us). Part of the fix for piglit's fbo-generatemipmap-array test. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-08-19mesa: restructure error checking in _mesa_FramebufferTexture1D/2DEXT()Brian Paul1-11/+45
In anticipation of adding more texture targets. Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
2011-08-19mesa: Declare _mesa_meta_begin()/end() as publicChad Versace2-142/+147
Declare _mesa_meta_begin()/end() in meta.h so that drivers can write custom meta-ops (such as HiZ resolves for i965). This necessitates moving the the META_* macros into meta.h. To prevent naming collisions, this commit renames each macro to be MESA_META_*. Reviewed-by: Brian Paul <brianp@vmware.com> Signed-off-by: Chad Versace <chad@chad-versace.us>
2011-08-19nv50: fix potential null deref in insn modifer optimization passChristoph Bumiller1-2/+4
Bug introduced in 34980cd153050111edc545545ddff11f5b68347e.
2011-08-19glx: use a block to fix declarations after code warningBrian Paul1-7/+9
2011-08-19r600g: fix a possible crash in r600_adjust_gprsMarek Olšák1-1/+1
2011-08-18mesa: fix incorrect error code in _mesa_FramebufferTexture1D/3DEXT()Brian Paul1-2/+2
The spec says GL_INVALID_OPERATION is generated when texture!=0 and textarget is not a legal value. We had this right for the 2D function.
2011-08-18glapi: update .gitignore for generated ES dispatch headersPaul Berry2-3/+4
Commit 6eff33dc (glapi: generate ES dispatch headers from core mesa) replaced the autogenerated files src/mapi/es1api/main/{dispatch,remap_helper}.h with new autogenerated files src/mesa/main/api_exec_es{1,2}_{dispatch,remap_helper}.h. This patch updates the .gitignore files to properly ignore the new autogenerated files, and stop ignoring the old autogenerated files. Reviewed-by: Chia-I Wu <olv@lunarg.com>
2011-08-18llvmpipe: Don't build lp_test_arit on MSVC.José Fonseca1-1/+1
Several issues due to expf/logf/etc either not being declared, or being defined as a macro.
2011-08-18llvmpipe: snprintf->util_snprintf.José Fonseca1-1/+2
For MSVC.
2011-08-18llvmpipe: Add u_math.h include.José Fonseca1-0/+1
Necessary on platforms with incomplete math.h
2011-08-18scons: Add support for LLVM-2.9 on Windows.José Fonseca1-1/+15
MinGW & MSVC, although I've only tested the former.
2011-08-18glx: Don't flush twice if we fallback to dri2CopySubBufferKristian Høgsberg1-11/+10
The flush extensions flush call indicates end of frame and should only be called once per frame. However, in the dri2SwapBuffer fallback path, we call flush and then call dri2CopySubBuffer, which also calls flush. Refactor the code to only call flush once.
2011-08-18r600g: implement NV_primitive_restart functionality (v2)Marek Olšák4-1/+11
Needed for GL3. v2: evergreen support I don't set PA_SU_SC_MODE_CNTL.MULTI_PRIM_IB_ENA. piglit/primitive-restart does pass though. Tested on RV730 and EG-REDWOOD.
2011-08-17r600g: fix scons buildMarek Olšák1-0/+1
2011-08-17i965/fs: Fix 32-bit integer multiplication.Eric Anholt2-1/+22
The MUL opcode does a 16bit * 32bit multiply, and we need to do the MACH to get the top 16bit * 32bit added in. Fixes fs-op-mult-int-*, fs-op-mult-ivec* Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2011-08-17nv50: don't drop flags definition when merging SAT with ADD/MADChristoph Bumiller1-0/+2
2011-08-17st/mesa: fix incorrect loop over instruction src regsBrian Paul1-1/+1
The array of src regs is of size 3, not 4.