summaryrefslogtreecommitdiffstats
path: root/src/gallium/state_trackers
Commit message (Collapse)AuthorAgeFilesLines
* st/dri: Remove useless flush front.Stéphane Marchesin2012-01-181-2/+7
| | | | | | | | | | | | | | | In the following scenario: - CreateContext C1 - MakeCurrent C1 - DestroyContext C1 (does not actually destroy the first context, postponed until the next MakeCurrent) - CreateContext C2 - MakeCurrent C2 MakeCurrent will call flush on a half destroyed context, leading to crashes. Since the other paths (destroy and makecurrent) already flush the context, there is no need to flush here, so we remove this useless flush front call. This fixes GPU crashes with Chrome and gallium drivers.
* gbm: Validate usage flags in gbm_bo_create_from_egl_image()Kristian Høgsberg2012-01-181-1/+1
| | | | | The entry point is supposed to validate that the EGLImage is suitable for the passed in usage flags, but that was never implemented.
* Complete ARGB8888 naming convention format renames missedScott Moreau2012-01-171-4/+3
|
* vl: fix YV12 handlingChristian König2012-01-151-1/+1
| | | | | | 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-152-2/+12
| | | | | | | 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-151-0/+64
| | | | | | | 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-152-172/+150
| | | | | | | 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: use template style create paramsChristian König2012-01-152-9/+15
| | | | | | | Just like in the rest of gallium, this reduces the number of parameters significantly. Signed-off-by: Christian König <[email protected]>
* st/xa: Bump version to 1.0.0 according to the READMEThomas Hellstrom2012-01-121-2/+2
| | | | | Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/wgl: Return NULL for NULL HDCs in wglGetExtensionsStringARB.José Fonseca2012-01-111-1/+3
| | | | | | | WGL_ARB_extensions_string states that wglGetExtensionsStringARB should return NULL for invalid HDCs. And some applications rely on it. Reviewed-By: "Keith Whitwell" <[email protected]>
* st/glx/xlib: call register_with_display() in glXChooseFBConfig()Brian Paul2012-01-111-0/+3
| | | | | | | | | This is the same fix as the previous commit, except it's for the gallium glx/xlib state tracker. NOTE: This is a candidate for the 7.11 branch. Reviewed-by: Adam Jackson <[email protected]>
* wayland-drm: Drop the non-premul formats, use format codes from drm_fourcc.hKristian Høgsberg2012-01-115-32/+16
|
* Squash-merge branch 'gallium-clip-state'Marek Olšák2012-01-107-22/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Conflicts: src/gallium/auxiliary/tgsi/tgsi_strings.c src/mesa/state_tracker/st_atom_clip.c commit d919791f2742e913173d6b335128e7d4c63c0840 Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 17:59:22 2012 +0100 d3d1x: adapt to new clip state commit cfec82bca3fefcdefafca3f4555285ec1d1ae421 Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 14:16:51 2012 +0100 gallium/docs: update for clip state changes commit c02bfeb81ad9f62041a2285ea6373bbbd602912a Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 14:21:43 2012 +0100 tgsi: add TGSI_PROPERTY_PROHIBIT_UCPS commit d4e0a785a6a23ad2f6819fd72e236acb9750028d Author: Brian Paul <[email protected]> Date: Thu Jan 5 08:30:00 2012 -0700 tgsi: consolidate TGSI string arrays in new tgsi_strings.h There was some duplication between the tgsi_dump.c and tgsi_text.c files. Also use some static assertions to help catch errors when adding new TGSI values. v2: put strings in tgsi_strings.c file instead of the .h file. Reviewed-by: Dave Airlie <[email protected]> commit c28584ce0d8c62bd92c8f140729d344f88a0b3cd Author: Christoph Bumiller <[email protected]> Date: Fri Jan 6 12:48:09 2012 +0100 gallium: extend user_clip_plane_enable to apply to clip distances commit f1d5016c07f786229ed057effbe55fbfd160b019 Author: Marek Olšák <[email protected]> Date: Fri Jan 6 02:39:09 2012 +0100 nvfx: adapt to new clip state commit 6f6fa1c26bd19f797c1996731708e3569c9bfe24 Author: Marek Olšák <[email protected]> Date: Fri Jan 6 01:41:39 2012 +0100 st/mesa: fix DrawPixels with GL_DEPTH_CLAMP commit c86ad730aa1c017788ae88a55f54071bf222be12 Author: Christoph Bumiller <[email protected]> Date: Tue Jan 3 23:51:30 2012 +0100 nv50: adapt to new clip state commit 3a8ae6ac243bae5970729dc4057fe02d992543dc Author: Christoph Bumiller <[email protected]> Date: Tue Jan 3 23:32:36 2012 +0100 nvc0: adapt to new clip state commit 6243a8246997f8d2fcc69ab741a2c2dea080ff11 Author: Marek Olšák <[email protected]> Date: Thu Dec 29 01:32:51 2011 +0100 draw: initalize pt.user.planes in draw_init This fixes a crash in glean/fpexceptions. commit e3056524b19b56d473f4faff84ffa0eb41497408 Author: Marek Olšák <[email protected]> Date: Mon Dec 26 06:26:55 2011 +0100 svga: adapt to new clip state commit c5bfa8b37d6d489271df457229081d6bbb51b4b7 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 14:11:51 2011 +0100 r600g: adapt to new clip state commit f11890905362f62627c4a28a8255b76eb7de7df2 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 14:10:26 2011 +0100 r300g: adapt to new clip state commit e37465327c79a01112f15f6278d9accc5bf3103f Author: Marek Olšák <[email protected]> Date: Sun Dec 25 12:39:16 2011 +0100 draw: adapt to new clip state This adds a regression in the LLVM clipping path. Can anybody see anything wrong with the code? It works for every other case, just glean/fpexceptions crashes when doing the "Infinite clip plane test". commit b474d2b18c72d965eefae4e427c269cba5ce6ba2 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 13:14:59 2011 +0100 u_blitter: don't save/set/restore clip state commit 9dd240ea91f523a677af45e8d0adb9e661e28602 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 13:11:56 2011 +0100 gallium: don't cso_save/set/restore clip state The enable bits are in the rasterizer state. commit a4f7031179f5f4ad524b34b394214b984ac950f6 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 12:58:55 2011 +0100 gallium: default depth_clip to 1 depth_clip = !depth_clamp commit fe21147a00ab90e549d63fe12ee4625c9c2ffcc3 Author: Marek Olšák <[email protected]> Date: Mon Dec 26 06:14:19 2011 +0100 trace,util: update state logging to new clip state Also dump the other missing flags. commit 2a3b96e84ac872dcc5bc1de049fe76bb58d64b23 Author: Marek Olšák <[email protected]> Date: Sun Dec 25 10:43:43 2011 +0100 st/mesa: adapt to new clip state commit b7b656a42fca19d7c85267f42649a206a85a2c72 Author: Marek Olšák <[email protected]> Date: Sat Dec 17 15:45:19 2011 +0100 gallium: move state enable bits from clip_state to rasterizer_state
* vl: replace decode_buffers with auxiliary data fieldChristian König2012-01-095-52/+4
| | | | | | | Based on patches from Maarten Lankhorst <[email protected]> Signed-off-by: Christian König <[email protected]> Acked-by: Maarten Lankhorst <[email protected]>
* dri2: Add plumbing to get context version requirements and flags to driversIan Romanick2012-01-022-4/+51
| | | | | | This adds support for DRI_DRI2 version 3 to all of the DRI2 drivers. Signed-off-by: Ian Romanick <[email protected]>
* st/glx/xlib: check for null attrib_list in glXCreateContextAttribsARB()Brian Paul2011-12-301-1/+1
| | | | Fixes https://bugs.freedesktop.org/show_bug.cgi?id=44234
* vl: call decode_bitstream only onceChristian König2011-12-261-4/+7
| | | | | | | Submit all bitstreams at once to decode_bitstream. Signed-off-by: Christian König <[email protected]> Signed-off-by: Maarten Lankhorst <[email protected]>
* egl,glx,wgl: Fixes stapi->createContext usageAlexandre Demers2011-12-243-6/+9
| | | | | | | | Fixed the build failure, fixed a warning where attributs and error arguments had been inverted and fixed another call that was missing an argument. Signed-off-by: José Fonseca <[email protected]>
* st-api: Have context_create explain why creation failedIan Romanick2011-12-232-4/+14
| | | | | | | | | | This won't be used in the client-side libGL, but the xserver has to generate a different protocol error depending on the reason context creation failed. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Chia-I Wu <[email protected]>
* st-api: Clean-up OpenGL profile handlingIan Romanick2011-12-232-10/+34
| | | | | | | | | | | | | | | | There seems to have been two different ways to communicate the profile. There were flags and there were profiles. I've opted to remove the profile flags and use ST_PROFILE_DEFAULT (compatibility profile) and ST_PROFILE_OPENGL_CORE (core profile) consistently instead. Also change the values of the ST_CONTEXT_FLAG_DEBUG and ST_CONTEXT_FLAG_FORWARD_COMPATIBLE flags to match the WGL and GLX values. Signed-off-by: Ian Romanick <[email protected]> Reviewed-by: Brian Paul <[email protected]> Reviewed-by: Chia-I Wu <[email protected]>
* xvmc: Remove unused variableMaarten Lankhorst2011-12-201-3/+0
| | | | | Signed-off-by: Maarten Lankhorst <[email protected]> Signed-off-by: Christian König <[email protected]>
* st/egl: error check and clamp coordinates in eglPostSubBufferNVChia-I Wu2011-12-201-8/+21
| | | | EGL_BAD_PARAMETER should be returned when any of the coordinates is negative.
* st/egl: Add support for EGL_NV_post_sub_bufferFredrik Höglund2011-12-202-2/+24
| | | | | | Signed-off-by: Fredrik Höglund <[email protected]> [olv: remove #ifdef checks]
* egl: remove #ifdef's for official extensionsChia-I Wu2011-12-204-14/+0
| | | | | | | There is no point in having them when we distribute eglext.h. As for unofficial extensions, there is a chance that we might remove some of them evetually. Keeping the #ifdef's for now should make that easier.
* vdpau: Add background surface supportMaarten Lankhorst2011-12-191-1/+10
| | | | | | | Sets rgba layer as zeroth layer if a custom background_surface is specified. Signed-off-by: Maarten Lankhorst <[email protected]> Signed-off-by: Christian König <[email protected]>
* vdpau: Add support for mixer attributesMaarten Lankhorst2011-12-193-15/+147
| | | | | | | | | | | It's harmless to add support for attributes we don't support, since they require a feature enabled for them to affect something. As long as they aren't enabled, nothing happens. This enables support for custom colorspaces and background colors. Signed-off-by: Maarten Lankhorst <[email protected]> Signed-off-by: Christian König <[email protected]>
* vdpau: Add support for parametersMaarten Lankhorst2011-12-193-6/+126
| | | | | | | | | | Currently only validating, since nothing else can be done with it yet Signed-off-by: Maarten Lankhorst <[email protected]> v2: removed check_video_surface Signed-off-by: Christian König <[email protected]>
* d3d1x: implement new stream output interfaceChristoph Bumiller2011-12-157-50/+213
|
* gallium: interface changes necessary to implement transform feedback (v5)Marek Olšák2011-12-151-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Namely: - EXT_transform_feedback - ARB_transform_feedback2 - ARB_transform_feedback_instanced The old interface was not useful for OpenGL and had to be reworked. This interface was originally designed for OpenGL, but additional changes have been made in order to make st/d3d1x support easier. The most notable change is the stream-out info must be linked with a vertex or geometry shader and cannot be set independently. This is due to limitations of existing hardware (special shader instructions must be used to write into stream-out buffers), and it's also how OpenGL works (stream outputs must be specified prior to linking shaders). Other than that, each stream output buffer has a "view" into it that internally maintains the number of bytes which have been written into it. (one buffer can be bound in several different transform feedback objects in OpenGL, so we must be able to have several views around) The set_stream_output_targets function contains a parameter saying whether new data should be appended or not. Also, the view can optionally be used to provide the vertex count for draw_vbo. Note that the count is supposed to be stored in device memory and the CPU never gets to know its value. OpenGL way | Gallium way ------------------------------------ BeginTF = set_so_targets(append_bitmask = 0) PauseTF = set_so_targets(num_targets = 0) ResumeTF = set_so_targets(append_bitmask = ~0) EndTF = set_so_targets(num_targets = 0) DrawTF = use pipe_draw_info::count_from_stream_output v2: * removed the reset_stream_output_targets function * added a parameter append_bitmask to set_stream_output_targets, each bit specifies whether new data should be appended to each buffer or not. v3: * added PIPE_CAP_STREAM_OUTPUT_PAUSE_RESUME for ARB_tfb2, note that the draw-auto subset is always required (for d3d10), only the pause/resume functionality is limited if the CAP is not advertised v4: * update gallium/docs v5: * compactified struct pipe_stream_output_info, updated dump/trace
* st/xa: Disable composite solid fill with maskThomas Hellstrom2011-12-151-1/+19
| | | | | | | Xa doesn't support it yet. Trying to do that would cause a segfault. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/xa: Fix format conversion copy alpha channelThomas Hellstrom2011-12-153-3/+13
| | | | | | | | | When doing format conversion copies between a format without an alpha channel and a format with an alpha channel, make sure the destination alpha is set to 1. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/xa: Fix component alpha checkThomas Hellstrom2011-12-151-2/+1
| | | | | | | Component alpha only affects mask pictures. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/egl: fix compiler warningsChia-I Wu2011-12-152-3/+3
| | | | | One is about casting a pointer to integer and the other is about an unused function when HAVE_WAYLAND_BACKEND is not defined.
* st/egl: Implement EGL_NOK_swap_region for x11Fredrik Höglund2011-12-153-20/+51
| | | | | | | | v2: inline x11_drawable_copy_buffers(). Signed-off-by: Fredrik Höglund <[email protected]> [olv: s/inline/INLINE/]
* st/egl: Add support for EGL_NOK_swap_regionFredrik Höglund2011-12-153-3/+46
| | | | | | | | | | | | Backends indicate that they support this extension by returning EGL_TRUE when native_display::get_param() is called with NATIVE_PARAM_PRESENT_REGION and NATIVE_PARAM_PRESERVE_BUFFER. native_present_control is extended to include the region that should be presented. When native_present_control::num_rects is zero, the whole surface is to be presented. Signed-off-by: Fredrik Höglund <[email protected]>
* st/vdpau: fix unwanted output scalingChristian König2011-12-141-7/+12
| | | | | | | | | vlVdpPresentationQueueDisplay shouldn't scale, so use size of destination surface as source rectangle. Based on work of Maarten Lankhorst <[email protected]> Signed-off-by: Christian König <[email protected]>
* st/vdpau: some mixer fixesChristian König2011-12-143-2/+8
| | | | | | | | | Correctly use destination_rect and destination_video_rect in the mixer, and also use a dirty area tracking for output surfaces. Based on work of Maarten Lankhorst <[email protected]> Signed-off-by: Christian König <[email protected]>
* g3dvl/compositor: improve dirty area handlingChristian König2011-12-146-5/+11
| | | | | | | Take viewport and scissors into account and make the dirty area a parameter instead of a member. Signed-off-by: Christian König <[email protected]>
* vl: Add missing mpeg fields to pipe_mpeg12_picture_descMaarten Lankhorst2011-12-111-0/+3
| | | | Signed-off-by: Maarten Lankhorst <[email protected]>
* st/xa: Update xa_yuv_planar_blit semanticsThomas Hellstrom2011-12-084-11/+15
| | | | | | | | | Change and document the interpretation of the color conversion matrix in order to make the function more versatile and to simplify the generated shader. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/dri: Use depth instead of bpp when communicating formats with the X server v3Thomas Hellstrom2011-12-071-3/+38
| | | | | | | | | Some hardware can't reinterpret the format of hardware buffers and thus the X server needs to know the format when the buffer is created. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Michel Daenzer <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* vega: remove unused varsFabio Pedretti2011-12-061-20/+5
| | | | Signed-off-by: Brian Paul <[email protected]>
* st/vega: Fix warnings about dllimport attributes on windows.José Fonseca2011-11-291-0/+1
|
* st/xa: Kill a couple of compilation warningsThomas Hellstrom2011-11-252-1/+6
| | | | | Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/xa, xa/vmwgfx: Generate exported symbol list from the st/xa symbols.Thomas Hellstrom2011-11-251-30/+0
| | | | | Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* st/xa, xa/vmwgfx: Use XA_EXPORT attribute to indicate global visibilityThomas Hellstrom2011-11-256-34/+41
| | | | | | | Also fix up Makefiles to use the default mesa compilation flags. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrants <[email protected]>
* st/xa, xa/vmwgfx: Set the right version on library suffixThomas Hellstrom2011-11-251-3/+0
| | | | | | | Also remove some unused variables in the st/xa makefile. Signed-off-by: Thomas Hellstrom <[email protected]> Reviewed-by: Jakob Bornecrantz <[email protected]>
* android: add support for ICSChia-I Wu2011-11-253-13/+22
| | | | | | | | With ICS (Android 4.0), several headers and structs are renamed. Define ANDROID_VERSION so that we can choose a different path depending on the platform version. I've tested only softpipe and llvmpipe. r600g is also reported to work.