summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2012-01-13i965: Comment gen6_hiz_get_framebuffer_enum()Chad Versace1-4/+6
Make the comments precise. Explain why each branch is needed and correct. Document the potential pitfall in the true-branch. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-01-13gen6_hiz: Don't bind GL_DRAW_FRAMEBUFFER on GLESNeil Roberts1-5/+29
When using Mesa with a GLES API, calling _mesa_FramebufferRenderbuffer with GL_DRAW_FRAMEBUFFER will report a 'user error' because get_framebuffer_target validates that this enum from the framebuffer blit extension is only used on GL. To work around it this patch makes it use the GL_FRAMEBUFFER enum instead in that case. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=43418 Note: This is a candidate for the 8.0 branch. Signed-off-by: Chad Versace <chad.versace@linux.intel.com>
2012-01-13mesa: s/GLushort/GLubyte/ in pack_ubyte_AL44()Brian Paul1-1/+1
The AL44 format occupies one byte, not two. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-01-13osmesa: fix renderbuffer format selectionBrian Paul1-46/+42
The gl_renderbuffer::Format field wasn't always set properly. This didn't matter much in the past but with the recent swrast/renderbuffer mapping changes, core Mesa will be directly touching OSMesa colorbuffers so using the right MESA_FORMAT_x value is important. Unfortunately, there aren't MESA_FORMATs for all the possible OSmesa format/type combinations, such as GL_FLOAT / OSMESA_ARGB. If anyone runs into these we can add new Mesa formats. v2: add warnings for unsupported formats, fix ARGB_REV mix-up. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-01-13gallivm: Allow target specific intrinsics in lp_declare_intrinsic()Tom Stellard1-7/+0
Target specific intrinsics are also prefixed with llvm, so this assert was preventing us from using them.
2012-01-13gbm: Add documentation for the public facing APIRob Bradford3-2/+162
2012-01-12i965: Fix Coverity wrong sizeof argument defect.Vinson Lee1-1/+1
NOTE: This is a candidate for stable release branches. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=42542 Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-01-12i965: Set pitch of pull constant buffers to 16.Paul Berry2-2/+2
We always access pull constant buffers using the message types "OWord Block Read" or "OWord Dual Block Read". According to the Sandy Bridge PRM, Vol 4 Part 1, pages 214 and 218, when using these messages: "the surface pitch is ignored, the surface is treated as a 1-dimensional surface. An element size (pitch) of 16 bytes is used to determine the size of the buffer for out-of-bounds checking if using the surface state model." Previously we were setting the pitch for pull constant buffers to the size of the whole constant buffer--this made no sense and would have led to incorrect behavior if it were not for the fact that the pitch is ignored. For clarity, this patch sets the pitch for pull constant buffers to 16 bytes, consistent with the hardware's behavior. v2: Clarify the meaning of the ignored values by writing them as (16 - 1). Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-01-12i965 gen4-6: Fix off-by-one errors brw_create_constant_surface()Paul Berry1-3/+3
Commit 9bdc44a52804a64219a0ca1a061b18596863e524 (i965: Replace struct with bit shifting for WM pull constant surfaces) accidentally introduced off-by-one errors into the calculation of the surface width, height, and depth. This patch restores the correct computation. The reason this wasn't noticed by Piglit tests is that the size of our constant surfaces is always less than 2^20, therefore the off-by-one error was causing the "depth" field of the surface to be set to all 1's. The hardware interpreted this as an extremely large surface, so overflow checking was effectively disabled. No Piglit regressions on Sandy Bridge. NOTE: This is a candidate for the 7.11 and 8.0 branches. Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-01-12nv50/ir: make use of TGSI_INTERPOLATE_COLORChristoph Bumiller3-10/+10
Flat SHADE_MODEL still overrides any non-flat interpolation qualifier, but pulling that state out of the rasterizer cso isn't really worth the effort, is it ? NOTE: This is a candidate for the 8.0 branch.
2012-01-12nvc0: fix submission of VertexID and EdgeFlag in push modeChristoph Bumiller9-21/+84
NOTE: This is a candidate for the 8.0 branch.
2012-01-12osmesa: fix glReadPixels, etcBrian Paul1-1/+57
Needed to implement the Map/UnmapRenderbuffer() driver hooks. This fixes glRead/Draw/CopyPixels, etc. See https://bugs.freedesktop.org/show_bug.cgi?id=44723 Note: This is a candidate for the 8.0 branch. Tested-by: Kevin Hobbs <hobbsk@ohiou.edu>
2012-01-12intel: move declaration before codeBrian Paul1-1/+1
2012-01-12intel: fix mapping of malloc'd renderbuffersBrian Paul1-0/+15
This fixes accum buffer operations. The accumulation buffer is the only malloc-based renderbuffer for the intel drivers. v2: apply x/y offset to returned pointer NOTE: This is a candidate for the 8.0 branch. Reviewed-by: Eric Anholt <eric@anholt.net>
2012-01-12mesa: Throw the required error for glCopyPixels from multisample FBO.Eric Anholt1-0/+6
Fixes piglit EXT_framebuffer_multisample/negative-copypixels. Reviewed-by: Brian Paul <brianp@vmware.com> NOTE: This is a candidate for the 8.0 branch.
2012-01-12mesa: Throw the required error for glCopyTex{Sub,}Image from multisample FBO.Eric Anholt1-0/+14
Fixes piglit EXT_framebuffer_multisample/negative-copyteximage. Reviewed-by: Brian Paul <brianp@vmware.com> NOTE: This is a candidate for the 8.0 branch.
2012-01-12mesa: Throw the required error for glReadPixels() from a multisampled FBO.Eric Anholt1-0/+5
Fixes piglit EXT_framebuffer_multisample-negative-readpixels. Reviewed-by: Brian Paul <brianp@vmware.com> NOTE: This is a candidate for the 8.0 branch.
2012-01-12mesa: Avoid short-circuiting realloc of renderbuffers to new sample count.Eric Anholt1-1/+2
Fixes piglit EXT_framebuffer_multisample/renderbuffer-samples. Reviewed-by: Brian Paul <brianp@vmware.com> NOTE: This is a candidate for the 8.0 branch.
2012-01-12meta: Add GL_RED/GL_RG support to meta CopyTexImage.Eric Anholt1-1/+4
Fixes some _mesa_problem()s in oglconform. Reviewed-by: Brian Paul <brianp@vmware.com> NOTE: This is a candidate for the 8.0 branch.
2012-01-12i965/gen7: Fix depth buffer rendering to tile offsets.Eric Anholt2-4/+4
Previously, we were saying that everything from the starting tile to region width+height was part of the limits of our depthbuffer, even if the tile was near the bottom of the depthbuffer. This mean that our range was not clipping to buffer buonds if the start tile was anything but the start of the buffer. In bebc91f0f3a1f2d19d36a7f1a4f7c992ace064e9, this was changed to saying that we're just rendering to a region of the size of the renderbuffer. This is great -- we get a range that should actually match what we want. However, the hardware's range checking occurs after the X/Y offset addition, so we were clipping out rendering to small depth mip levels when an X/Y offset was present. Just add tile_x/y to the width in that case -- the WM won't produce negative x/y values pre-offset, so we just need to get the left/bottom sides of the region to cover our buffer. Fixes the following Piglit regressions on gen7: spec/ARB_depth_buffer_float/fbo-clear-formats spec/ARB_depth_texture/fbo-clear-formats spec/EXT_packed_depth_stencil/fbo-clear-formats NOTE: This is a candidate for the 8.0 branch.
2012-01-12mesa: remove incorrect (float) cast in mipmap do_row()Brian Paul1-1/+1
The array holds GLuint values so remove the float cast. Note, however, that to compute the average of four GLuints we really want to do (a+b+c+d)/4 but that could overflow. This change doesn't address that for now. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-01-12swrast: use BITFIELD64_BIT() macro to fix MSVC warningsBrian Paul3-5/+5
NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-01-12mesa: fix ir_variable declarationBrian Paul1-1/+1
ir_variable is a class, not a struct. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-01-12mesa: fix incorrect float vs. int values in a few placesBrian Paul1-3/+3
In the first case, the newImage[] array contains GLuint values. In the second case, the parameter type is GLuint, but the maxDepth value is never used in this case (GL_FLOAT_32_UNSIGNED_INT_24_8_REV). Pass ~OU just to be safe. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-01-12meta: fix incorrect argument order in setup_texture_coords() callBrian Paul1-1/+1
And pass integer width, height values. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-01-12mesa: use _mesa_is_user_fbo() and _mesa_is_winsys_fbo() functionsBrian Paul7-48/+52
Rather than testing the fbo's name against zero. Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-01-12mesa: whitespace, 80-column wrapping in buffers.cBrian Paul1-2/+6
2012-01-12mesa: remove obsolete comment on _mesa_dest_buffer_exists()Brian Paul1-1/+0
2012-01-12st/mesa: whitespace fixes, 80-column wrappingBrian Paul1-14/+21
2012-01-12mesa/gallium: add FFS_DEFINED to protect ffs() from multiple definitionsBrian Paul2-0/+9
We include both imports.h and u_math.h in the state tracker. This leads to multiple, conflicting definitions of ffs() with MSVC. Use FFS_DEFINED to skip the ffs() in u_math.h. Reviewed-by: José Fonseca <jfonseca@vmware.com>
2012-01-12st/mesa: re-order #includes in st_manager.cBrian Paul1-10/+10
include mesa headers before gallium headers to avoid problem with ffs() being defined in u_math.h and then again in imports.h The next commit will add some #ifdefs to prevent multiple definitions of ffs().
2012-01-12sofpipe: remove extraneous semicolonBrian Paul1-1/+1
2012-01-12st/mesa: fix struct vs. class compilation warningBrian Paul1-1/+1
glsl_to_tgsi_visitor is earlier defined as a class, not a struct. Fixes MSVC warning. NOTE: This is a candidate for the 8.0 branch.
2012-01-12r600g: don't advertise integers yet on r600.Dave Airlie1-2/+0
Still some work to be done before this is finished. This is a candidate for 8.0 branch. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-01-12mesa: remove _mesa_ffs(), implement ffs() for non-GNU platformsBrian Paul14-42/+35
Call ffs() and ffsll() everywhere. Define our own ffs(), ffsll() functions when the platform doesn't have them. v2: remove #ifdef _WIN32, __IBMC__, __IBMCPP_ tests inside ffs() implementation. The #else clause was recursive. Reviewed-by: Kenneth Graunke <kenneth@whitecape.org> Tested-by: Alexander von Gluck <kallisti5@unixzen.com>
2012-01-12st/xa: Bump version to 1.0.0 according to the READMEThomas Hellstrom2-4/+4
Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2012-01-12svga: Fix user clip planes.José Fonseca2-4/+3
Dirty flags also need to be updated in face of recent interface change. Fixes regression in compiz. Reviewed-by: Brian Paul <brianp@vmware.com>
2012-01-12softpipe: bump max texture array layers to 256.Dave Airlie1-1/+1
This as per GL3 specification. Signed-off-by: Dave Airlie <airlied@redhat.com>
2012-01-12gallium/svga: Pass the SVGA3D_SURFACE_HINT_RENDERTARGET flag to the deviceThomas Hellstrom1-3/+6
Some hardware versions rely on it to render correctly. Signed-off-by: Thomas Hellstrom <thellstrom@vmware.com> Reviewed-by: José Fonseca <jfonseca@vmware.com> Reviewed-by: Jakob Bornecrantz <jakob@vmware.com>
2012-01-11vbo: fix breakage from previous commitBrian Paul1-1/+1
Don't know how that slipped by.
2012-01-11vbo: fix void * arithmetic compilation error on MSVCBrian Paul1-4/+5
Also, call vbo_sizeof_ib_type() once and fix argument cast in MapBufferRange() call.
2012-01-12vbo: introduce vbo_get_minmax_indices functionYuanhan Liu8-17/+53
Introduce vbo_get_minmax_indices() function to handle the min/max index computation for nr_prims(>= 1). The old code just compute the first prim's min/max index; this would results an error rendering if user called functions like glMultiDrawElements(). This patch servers as fixing this issue. As when nr_prims = 1, we can pass 1 to paramter nr_prims, thus I made vbo_get_minmax_index() static. v2: per Roland's suggestion, put the indices address compuation into vbo_get_minmax_index() instead. Also do comination if possible to reduce map/unmap count v3: per Brian's suggestion, use a pointer for start_prim to avoid structure copy per loop. Signed-off-by: Yuanhan Liu <yuanhan.liu@linux.intel.com> Reviewed-by: Roland Scheidegger <sroland@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2012-01-11mesa: remove const qualifier from fProg to silence warningBrian Paul1-1/+1
The args to _mesa_reference_shader_program() can't be const.
2012-01-11mesa: include uniforms.h to silence warning, remove unused varBrian Paul1-2/+1
2012-01-11Enable is_front_buffer_rendering variable in case of GL_FRONT_AND_BACKAnuj Phogat1-1/+1
glDrawBuffer(GL_FRONT_AND_BACK) results in to segmentation fault if intel->is_front_buffer_rendering is not enabled with GL_FRONT_AND_BACK. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=44153 Reported-by: Yi Sun <yi.sun@intel.com> Signed-off-by: Anuj Phogat <anuj.phogat@gmail.com> Reviewed-by: Eric Anholt <eric@anholt.net>
2012-01-11mesa: Remove unused opengl version macroJakob Bornecrantz1-11/+0
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com> Reviewed-by: Brian Paul <brianp@vmware.com>
2012-01-11rbug: Silence warningJakob Bornecrantz1-1/+2
Signed-off-by: Jakob Bornecrantz <jakob@vmware.com> Reviewed-by Brian Paul <brianp@vmware.com>
2012-01-11i965: Don't use _mesa_ir_link_shader to do our dirty workIan Romanick1-7/+85
Instead, do the uniform setting and input / output mapping directly in brw_link_shader. Hurray for not generating Mesa IR! However, once the i965 driver stops calling _mesa_ir_link_shader, UsesClipDistance and UsesKill are no longer set. Ideally gen6_upload_vs_push_constants should use the gl_shader_program, but I don't see a way to propagate the information there. The other alternative, since this is the only usage, is to move gl_vertex_program::UsesClipDistance to brw_vertex_program. The compile (and precompile) stages use UsesKill to determine the cache key for the shader. This is then used to determine whether or not to compile the shader. Calculating this data during compilation is too late. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Acked-by: Kenneth Graunke <kenneth@whitecape.org> Acked-by: Eric Anholt <eric@anholt.net>
2012-01-11i965: Don't calculate masks of used FS inputsIan Romanick1-0/+15
This previously enabled some optimizations in the fragment shader (interpolation, etc.) if some input components were always 0.0 or 1.0. However, this data was generated by analyzing Mesa IR. The next patch in this series removes generation of Mesa IR for GLSL paths. When we detect that case, just set the used mask to ~0 and circumvent the optimizations. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>
2012-01-11linker: Calculate used samplers and shadow samplers in the linkerIan Romanick4-39/+64
It used to be done in ir_to_mesa, and that was kind of a bad place. I didn't change st_glsl_to_tgsi because there is some strange stuff happening in the code that generates glDrawPixels shaders. It looked like this would break horribly if I touched anything. Signed-off-by: Ian Romanick <ian.d.romanick@intel.com> Reviewed-by: Eric Anholt <eric@anholt.net> Reviewed-by: Kenneth Graunke <kenneth@whitecape.org>