summaryrefslogtreecommitdiffstats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* r600g: implement IABS on r600-evergreenVadim Girlin2012-01-151-0/+60
| | | | Signed-off-by: Vadim Girlin <[email protected]>
* r600g: implement F2U on evergreenVadim Girlin2012-01-151-2/+2
| | | | Signed-off-by: Vadim Girlin <[email protected]>
* r600g: add FLT_TO_UINT opcode for evergreenVadim Girlin2012-01-152-1/+4
| | | | Signed-off-by: Vadim Girlin <[email protected]>
* r600g: fix F2I on evergreenVadim Girlin2012-01-151-1/+50
| | | | Signed-off-by: Vadim Girlin <[email protected]>
* vl: fix YV12 handlingChristian König2012-01-154-9/+49
| | | | | | We actually implemented YV21 instead of YV12, so fix the plane ordering. Signed-off-by: Christian König <[email protected]>
* st/vdpau: recreate video buffer if decode doesn't like itChristian König2012-01-151-1/+21
| | | | | | Recreate the video buffer if the decoder can't handle it. Signed-off-by: Christian König <[email protected]>
* st/vdpau: recreate video buffer if format doesn't matchChristian König2012-01-152-19/+37
| | | | | | Recreate the video buffer in PutBitsYCbCr if the format doesn't match. Signed-off-by: Christian König <[email protected]>
* vl: reintroduce PIPE_VIDEO_CAP_PREFERED_FORMATChristian König2012-01-158-3/+24
| | | | | | | Create the video buffers in the format the driver preffers. This temporary creates problems with decoder less VDPAU video playback. Signed-off-by: Christian König <[email protected]>
* vl: add h264 infrastructureChristian König2012-01-152-0/+107
| | | | | | | No implementation so far, just the defines for VDPAUs picture info structure. Signed-off-by: Christian König <[email protected]>
* vl: move away from state like parametersChristian König2012-01-159-403/+293
| | | | | | | Again based on Maartens work, but keep begin_frame and end_frame functions for now. Signed-off-by: Christian König <[email protected]>
* vl/video_buffer: add support for interlaced buffersChristian König2012-01-153-13/+25
| | | | | | Add the infrastructure, but not the decode implementation. Signed-off-by: Christian König <[email protected]>
* vl/video_buffer: improve constructorChristian König2012-01-152-45/+84
| | | | | | | | Add a second extened constructor that takes plane textures for the video buffer. Also provide a function for texture templates. Signed-off-by: Christian König <[email protected]>
* vl/video_buffer: use template style create paramsChristian König2012-01-157-69/+71
| | | | | | | Just like in the rest of gallium, this reduces the number of parameters significantly. Signed-off-by: Christian König <[email protected]>
* r600g: vertex id support.Dave Airlie2012-01-151-8/+15
| | | | | | | | | | | | This requires GLSL 1.30 enabled, which requires integer types enabled, so don't bother doing an INT to FLT conversion on it. We should probably remove the instance id flt->int conversion when turning on native integers. this passes the three piglit tests with GLSL 1.30 forced on. Signed-off-by: Dave Airlie <[email protected]>
* r600g: make u2f trans onlyDave Airlie2012-01-151-1/+1
| | | | | | as per the r600 isa doc. Signed-off-by: Dave Airlie <[email protected]>
* nvfx: random cleanups of the state validation codeLucas Stach2012-01-151-27/+22
| | | | Signed-off-by: Lucas Stach <[email protected]>
* nvfx: drop render temporaries codeLucas Stach2012-01-154-172/+18
| | | | | | This code is unneeded now, we don't use render temps any more. Signed-off-by: Lucas Stach <[email protected]>
* nvfx: rework state_fb code to get rid of render tempsLucas Stach2012-01-154-146/+72
| | | | | | | | | | | | | | | | | This commit rewrites a lot of the state_fb code to support rendering to targets not aligned to 64 byte. This allows us to drop the render temporaries as unaligned targets are the only use-case where they are really needed. The temporaries code was used for a lot of things more, but apparently those also work without temps. There is one regression in piglit fbo-clear-formats, but this will be fixed with the use of real hardware clears and doesn't matter in practice as no real application tries to scissor clear a 2x2 pixel render target. Signed-off-by: Lucas Stach <[email protected]>
* nvfx: say no to stream output capsLucas Stach2012-01-151-1/+5
| | | | | | | nvfx doesn't support any kind of stream out, so silence the unused cap warnings. Signed-off-by: Lucas Stach <[email protected]>
* mesa: update compute_version for GL3Marek Olšák2012-01-151-4/+2
| | | | | | only check ARB_fbo, add shader_texture_lod as a requirement Reviewed-by: Ian Romanick <[email protected]>
* gallium: improve the pipe_stream_output_info struct (v2)Marek Olšák2012-01-1513-151/+57
| | | | | | | | | | | | | | | | | | | | | There are 3 changes: 1) stride is specified for each buffer, not just one, so that drivers don't have to derive it from the outputs 2) new per-output property dst_offset, which specifies the offset into the buffer in dwords where the output should be stored, so that drivers don't have to compute the offsets manually; this will also be useful for gl_SkipComponents from ARB_transform_feedback3 3) register_mask is removed, instead, there is start_component and num_components; register_mask with non-consecutive 1s doesn't make much sense (some hardware cannot do packing of components) Christoph Bumiller: fixed nvc0. v2: resolve merge conflicts in Draw and clean it up
* r600g: add r600 version of UINT_TO_FLT conversion.Dave Airlie2012-01-141-0/+1
| | | | Signed-off-by: Dave Airlie <[email protected]>
* r600g: fix r600 f2i to be trans only emitted.Dave Airlie2012-01-141-1/+1
| | | | | | This fixes a lot of asserts about the trans unit being used already. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add missing case for uint->flt conversion.Dave Airlie2012-01-141-0/+1
| | | | | | fixes some piglits like vs-decrement-uint.shader_test Signed-off-by: Dave Airlie <[email protected]>
* r600g: add missing r32 uint/sint fbo formats.Dave Airlie2012-01-142-0/+8
| | | | | | Fixes the GL3 required formats test. Signed-off-by: Dave Airlie <[email protected]>
* r600g: add support for virtual address space on cayman v11Jerome Glisse2012-01-1313-48/+370
| | | | | | | | | | | | | | | | | | | | | | | | | Virtual address space put the userspace in charge of their GPU address space. It's up to userspace to bind bo into the virtual address space. Command stream can them be executed using the IB_VM chunck. This patch add support for this configuration. It doesn't remove the 64K ib size limit thought this limit can be extanded up to 1M for IB_VM chunk. v2: fix rendering v3: fix rendering when using index buffer v4: make vm conditional on kernel support add basic va management v5: catch the case when we already have va for a bo v6: agd5f: update on top of ioctl changes v7: agd5f: further ioctl updates v8: indentation cleanup + fix non cayman v9: rebase against lastest mesa + improvement from Marek & Michel v10: fix cut/paste bug v11: don't rely on updated radeon_drm.h Signed-off-by: Jerome Glisse <[email protected]> Signed-off-by: Alex Deucher <[email protected]>
* scons: Fix libGL.so build.Roland Scheidegger2012-01-131-0/+1
|
* i965: Comment gen6_hiz_get_framebuffer_enum()Chad Versace2012-01-131-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 <[email protected]>
* gen6_hiz: Don't bind GL_DRAW_FRAMEBUFFER on GLESNeil Roberts2012-01-131-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 <[email protected]>
* mesa: s/GLushort/GLubyte/ in pack_ubyte_AL44()Brian Paul2012-01-131-1/+1
| | | | | | | | The AL44 format occupies one byte, not two. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* osmesa: fix renderbuffer format selectionBrian Paul2012-01-131-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 <[email protected]>
* gallivm: Allow target specific intrinsics in lp_declare_intrinsic()Tom Stellard2012-01-131-7/+0
| | | | | Target specific intrinsics are also prefixed with llvm, so this assert was preventing us from using them.
* gbm: Add documentation for the public facing APIRob Bradford2012-01-133-2/+162
|
* i965: Fix Coverity wrong sizeof argument defect.Vinson Lee2012-01-121-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 <[email protected]>
* i965: Set pitch of pull constant buffers to 16.Paul Berry2012-01-122-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 <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* i965 gen4-6: Fix off-by-one errors brw_create_constant_surface()Paul Berry2012-01-121-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 <[email protected]> Reviewed-by: Kenneth Graunke <[email protected]>
* nv50/ir: make use of TGSI_INTERPOLATE_COLORChristoph Bumiller2012-01-123-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.
* nvc0: fix submission of VertexID and EdgeFlag in push modeChristoph Bumiller2012-01-129-21/+84
| | | | NOTE: This is a candidate for the 8.0 branch.
* osmesa: fix glReadPixels, etcBrian Paul2012-01-121-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 <[email protected]>
* intel: move declaration before codeBrian Paul2012-01-121-1/+1
|
* intel: fix mapping of malloc'd renderbuffersBrian Paul2012-01-121-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 <[email protected]>
* mesa: Throw the required error for glCopyPixels from multisample FBO.Eric Anholt2012-01-121-0/+6
| | | | | | | Fixes piglit EXT_framebuffer_multisample/negative-copypixels. Reviewed-by: Brian Paul <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* mesa: Throw the required error for glCopyTex{Sub,}Image from multisample FBO.Eric Anholt2012-01-121-0/+14
| | | | | | | Fixes piglit EXT_framebuffer_multisample/negative-copyteximage. Reviewed-by: Brian Paul <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* mesa: Throw the required error for glReadPixels() from a multisampled FBO.Eric Anholt2012-01-121-0/+5
| | | | | | | Fixes piglit EXT_framebuffer_multisample-negative-readpixels. Reviewed-by: Brian Paul <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* mesa: Avoid short-circuiting realloc of renderbuffers to new sample count.Eric Anholt2012-01-121-1/+2
| | | | | | | Fixes piglit EXT_framebuffer_multisample/renderbuffer-samples. Reviewed-by: Brian Paul <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* meta: Add GL_RED/GL_RG support to meta CopyTexImage.Eric Anholt2012-01-121-1/+4
| | | | | | | Fixes some _mesa_problem()s in oglconform. Reviewed-by: Brian Paul <[email protected]> NOTE: This is a candidate for the 8.0 branch.
* i965/gen7: Fix depth buffer rendering to tile offsets.Eric Anholt2012-01-122-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.
* mesa: remove incorrect (float) cast in mipmap do_row()Brian Paul2012-01-121-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 <[email protected]>
* swrast: use BITFIELD64_BIT() macro to fix MSVC warningsBrian Paul2012-01-123-5/+5
| | | | | | NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>
* mesa: fix ir_variable declarationBrian Paul2012-01-121-1/+1
| | | | | | | | ir_variable is a class, not a struct. NOTE: This is a candidate for the 8.0 branch. Reviewed-by: José Fonseca <[email protected]>