[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 Thierry Vignaud changed: What|Removed |Added Depends on||34321 -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 34321] The ARB_fragment_program subset of ARB_draw_buffers not implemented
https://bugs.freedesktop.org/show_bug.cgi?id=34321 Thierry Vignaud changed: What|Removed |Added Blocks||36182 -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 --- Comment #8 from Turo Lamminen 2011-04-13 01:14:32 PDT --- (In reply to comment #7) > No, it doesn't. First, there is no Shader Model 3 in OpenGL per se. Second, > ARB_fragment_program matches DX9's Shader Model 2, not 3, so the game lies > about it. OpenGL does not allow for reliable detection of Shader Model 3 but it IS required because some of the shaders are too complex for Shader Model 2 hardware. As for ATI_draw_buffers it should not be required if ARB_draw_buffers is present. This is some kind of issue with Nvidia Cg library which tries to use it even though it's not present and in fact the library has detected this. Check the log in ~/.frozenbyte/trine/logs/log.txt, you should see ARB_draw_buffers mentioned. Implementing and advertising ATI_draw_buffers should allow the game to continue and the extensions are nearly identical in functionality. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] Nouveau DRI build error
With current git master I have got following error: gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver -I../../../../../include -I../../../../../src/mapi -I../../../../../src/mesa -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri -I/usr/include/libdrm -march=i686 -mtune=generic -O2 -pipe -Wall -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -fPIC -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_USE_TLS -DPTHREADS -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DHAVE_LIBUDEV -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN -DHAVE_XEXTPROTO_71 -fvisibility=hidden -I/usr/include/libdrm -I/usr/include/nouveau -DFEATURE_GL=1 -DFEATURE_ES1=1 -DFEATURE_ES2=1 nv04_state_tex.c -o nv04_state_tex.o nv04_state_tex.c: In function ‘nv04_emit_tex_obj’: nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member named ‘MaxLod’ nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member named ‘MaxLod’ nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member named ‘MaxLod’ nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member named ‘MaxLod’ nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member named ‘MaxLod’ nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member named ‘MaxLod’ nv04_state_tex.c:88:15: error: ‘struct gl_texture_object’ has no member named ‘LodBias’ nv04_state_tex.c:88:15: error: ‘struct gl_texture_object’ has no member named ‘LodBias’ nv04_state_tex.c:88:15: error: ‘struct gl_texture_object’ has no member named ‘LodBias’ nv04_state_tex.c:99:20: error: ‘struct gl_texture_object’ has no member named ‘MaxAnisotropy’ nv04_state_tex.c:101:11: error: ‘struct gl_texture_object’ has no member named ‘MaxAnisotropy’ make[6]: *** [nv04_state_tex.o] Error 1 Jak zdobyc 2766 zl dofinansowania na obsługe ksiegowa firmy? http://linkint.pl/f2969 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 James Le Cuirot changed: What|Removed |Added CC||ch...@aura-online.co.uk -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 --- Comment #9 from Marek Olšák 2011-04-13 03:00:43 PDT --- (In reply to comment #8) > (In reply to comment #7) > > No, it doesn't. First, there is no Shader Model 3 in OpenGL per se. Second, > > ARB_fragment_program matches DX9's Shader Model 2, not 3, so the game lies > > about it. > OpenGL does not allow for reliable detection of Shader Model 3 but it IS > required because some of the shaders are too complex for Shader Model 2 > hardware. I don't see any shaders in that log that would need SM3.0. Yes, there is one with 454 instructions, but that's still well within the limits of SM2.0b. -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 --- Comment #10 from Turo Lamminen 2011-04-13 03:33:29 PDT --- (In reply to comment #9) > I don't see any shaders in that log that would need SM3.0. Yes, there is one > with 454 instructions, but that's still well within the limits of SM2.0b. I once tried this on Geforce FX-class hardware with Nvidia proprietary driver and it failed. This was quite a while ago so I don't remember what the exact error was. Might have been about too many temporaries. Or maybe the Nvidia driver was bullshitting me. The other reason for specifying SM3.0 was that the last driver available for GF FX did not support ARB_framebuffer_object which is necessary for this game. On ATI side they were dropping support for old hardware and mesa driver was not anywhere near ready. But if you can make Trine run on Shader Model 2.0 HW good for you :) -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 34321] The ARB_fragment_program subset of ARB_draw_buffers not implemented
https://bugs.freedesktop.org/show_bug.cgi?id=34321 Sven Arvidsson changed: What|Removed |Added CC||s...@whiz.se -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] Nouveau DRI build error
On Tue, Apr 12, 2011 at 3:24 AM, wrote: > With current git master I have got following error: > > gcc -c -I. -I../../../../../src/mesa/drivers/dri/common -Iserver > -I../../../../../include -I../../../../../src/mapi -I../../../../../src/mesa > -I../../../../../src/egl/main -I../../../../../src/egl/drivers/dri > -I/usr/include/libdrm -march=i686 -mtune=generic -O2 -pipe -Wall > -Wmissing-prototypes -std=c99 -ffast-math -fno-strict-aliasing -fPIC > -DUSE_X86_ASM -DUSE_MMX_ASM -DUSE_3DNOW_ASM -DUSE_SSE_ASM -D_GNU_SOURCE > -DPTHREADS -DHAVE_POSIX_MEMALIGN -DUSE_XCB -DGLX_USE_TLS -DPTHREADS > -DUSE_EXTERNAL_DXTN_LIB=1 -DIN_DRI_DRIVER -DGLX_DIRECT_RENDERING > -DGLX_INDIRECT_RENDERING -DHAVE_ALIAS -DHAVE_XCB_DRI2 -DHAVE_LIBUDEV > -DXCB_DRI2_CONNECT_DEVICE_NAME_BROKEN -DHAVE_XEXTPROTO_71 > -fvisibility=hidden -I/usr/include/libdrm -I/usr/include/nouveau > -DFEATURE_GL=1 -DFEATURE_ES1=1 -DFEATURE_ES2=1 nv04_state_tex.c -o > nv04_state_tex.o > nv04_state_tex.c: In function ‘nv04_emit_tex_obj’: > nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member > named ‘MaxLod’ > nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member > named ‘MaxLod’ > nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member > named ‘MaxLod’ > nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member > named ‘MaxLod’ > nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member > named ‘MaxLod’ > nv04_state_tex.c:85:14: error: ‘struct gl_texture_object’ has no member > named ‘MaxLod’ > nv04_state_tex.c:88:15: error: ‘struct gl_texture_object’ has no member > named ‘LodBias’ > nv04_state_tex.c:88:15: error: ‘struct gl_texture_object’ has no member > named ‘LodBias’ > nv04_state_tex.c:88:15: error: ‘struct gl_texture_object’ has no member > named ‘LodBias’ > nv04_state_tex.c:99:20: error: ‘struct gl_texture_object’ has no member > named ‘MaxAnisotropy’ > nv04_state_tex.c:101:11: error: ‘struct gl_texture_object’ has no member > named ‘MaxAnisotropy’ > make[6]: *** [nv04_state_tex.o] Error 1 > That should have been fixed w/ commit b27f206b0cc9bf31bff6dd1abe66c4f21f3de21e from yesterday. -Brian ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 Sean McNamara changed: What|Removed |Added CC||gm.potato...@gmail.com -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] gdb doesnt step into GL API calls of gears.
OK. i tried your command i.e. "./configure --enable-debug --enable-gallium-swrast --with-driver=xlib" and did "make". I also ran "scons libgl-xlib" which i guess wasnt necessary. Correct me if i am wrong? Now i set the LD_LIBRARY_PATH to lib/gallium and run gears. i see around 60fps on my AMD athlon x2. I tried gdb with gears and now it allows me to step into the gl calls also. Now would like to understand a few things that i did above: a. is the libGL.so built (using the above commands i.e. configure and make) under mesa/lib/gallium completely self-sufficient? Doesnt it need swrast_dri.so or swrastg_dri.do? b. On your comment "I don't recall if we ever made softpipe work as a DRI driver.". Whats the purpose of swrastg_dri.so then? where and when is this lib used? Btw Thanks Brian for your replies. This is my spare time project; hence the delay in response. Thx K On Tue, 2011-04-12 at 08:14 -0600, Brian Paul wrote: > On 04/11/2011 11:52 PM, kumar vemuri wrote: > > Hi Brian, > > > >I did use --enable-debug with configure. But still i dont see gdb > > stepping into gl calls... it does step into the glu calls though. > > > > This is my configure command: ./configure --enable-debug > > --enable-gallium-i915 --enable-gallium-swrast --with-dri-drivers=swrast > > Try this: > > ./configure --enable-debug --enable-gallium-swrast --with-driver=xlib > > > > By the way, dont know if its of any importance but .. > > I have an nvidia blob running on my pc. So to get the gallium softpipe > > setup working i am using the libGL.so generated by "scons libgl-xlib" > > under build/linux-/lib. And i set the LIBGL_DRIVERS_PATH to > > lib/gallium so that the libGL picks up the swrastg_dri.so but i dont > > have the swrast_dri.so under lib/gallium. > > > > Also, another question: Do i have to link the swrast_dri.so to > > swrastg_dri.so in lib/gallium for softpipe setup to work? > > I don't recall if we ever made softpipe work as a DRI driver. > > -Brian ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 --- Comment #11 from imamdxl8...@gmail.com 2011-04-13 08:15:31 PDT --- Sorry my glxinfo, name of display: :0.0 display: :0 screen: 0 direct rendering: Yes server glx vendor string: SGI server glx version string: 1.4 server glx extensions: GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_INTEL_swap_event client glx vendor string: Mesa Project and SGI client glx version string: 1.4 client glx extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap, GLX_INTEL_swap_event GLX version: 1.4 GLX extensions: GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control, GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer, GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap, GLX_INTEL_swap_event OpenGL vendor string: Tungsten Graphics, Inc OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset x86/MMX/SSE2 OpenGL version string: 2.1 Mesa 7.10.2 OpenGL shading language version string: 1.20 OpenGL extensions: GL_ARB_copy_buffer, GL_ARB_depth_clamp, GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_draw_elements_base_vertex, GL_ARB_explicit_attrib_location, GL_ARB_fragment_coord_conventions, GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader, GL_ARB_framebuffer_object, GL_ARB_half_float_pixel, GL_ARB_half_float_vertex, GL_ARB_map_buffer_range, GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query, GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite, GL_ARB_provoking_vertex, GL_ARB_seamless_cube_map, GL_ARB_shader_objects, GL_ARB_shading_language_100, GL_ARB_shadow, GL_ARB_sync, GL_ARB_texture_border_clamp, GL_ARB_texture_compression, GL_ARB_texture_cube_map, GL_ARB_texture_env_add, GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar, GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle, GL_ARB_texture_rg, GL_ARB_texture_swizzle, GL_ARB_transpose_matrix, GL_ARB_vertex_array_bgra, GL_ARB_vertex_array_object, GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, GL_EXT_copy_texture, GL_EXT_draw_buffers2, GL_EXT_draw_range_elements, GL_EXT_fog_coord, GL_EXT_framebuffer_blit, GL_EXT_framebuffer_multisample, GL_EXT_framebuffer_object, GL_EXT_gpu_program_parameters, GL_EXT_multi_draw_arrays, GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels, GL_EXT_pixel_buffer_object, GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_provoking_vertex, GL_EXT_rescale_normal, GL_EXT_secondary_color, GL_EXT_separate_shader_objects, GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap, GL_EXT_subtexture, GL_EXT_texture3D, GL_EXT_texture_compression_dxt1, GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add, GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3, GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_texture, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, GL_EXT_texture_swizzle, GL_EXT_vertex_array_bgra, GL_EXT_vertex_array, GL_OES_EGL_image, GL_OES_read_format, GL_3DFX_texture_compression_FXT1, GL_APPLE_client_storage, GL_APPLE_object_purgeable, GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, GL_ATI_blend_equation_separate, GL_ATI_envmap_bumpmap, GL_ATI_separate_stencil, GL_ATI_texture_env_combine3, GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_MESA_ycbcr_texture, GL_NV_blend_s
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 --- Comment #12 from imamdxl8...@gmail.com 2011-04-13 08:22:41 PDT --- I can run this game Windows version via WINE. I need to enable GLSL in WINE otherwise the game does not render all the scene properly. But the game is laggy. The plus point of WINE is, it can skip functionality check. But I would love to play this game natively on Linux -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 25588] Lots of ARB_vertex_program/fragment_program parser errors in ETQW (if GLSL is unavailable)
https://bugs.freedesktop.org/show_bug.cgi?id=25588 Fabio Pedretti changed: What|Removed |Added Resolution|WORKSFORME |WONTFIX Component|Mesa core |Drivers/DRI/r300 AssignedTo|mesa-dev@lists.freedesktop. |dri-devel@lists.freedesktop |org |.org -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/4] i965: Remove unnecessary release/reference of brw_context.state.depth_region
On Tue, 12 Apr 2011 15:33:55 -0700, c...@chad-versace.us wrote: > From: Chad Versace > > Release the old depth region and reference the new one *only* if it has > changed. Having written that patch before and misplaced it apparently: Reviewed-by: Eric Anholt pgpXhkxtGuw5N.pgp Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] i965: Allocate the whole URB to the VS and fix calculations for Gen6.
On Tue, 12 Apr 2011 15:42:06 -0700, Kenneth Graunke wrote: > Since we never enable the GS on Sandybridge, there's no need to allocate > it any URB space. > > Furthermore, the previous calculation was incorrect: it neglected to > multiply by nr_vs_entries, instead comparing whether twice the size of > a single VS URB entry was bigger than the entire URB space. It also > neglected to take into account that vs_size is in units of 128 byte > blocks, while urb_size is in bytes. > > Despite the above problems, the calculations resulted in an acceptable > programming of the URB in most cases, at least on GT2. > > Signed-off-by: Kenneth Graunke The logic all looks good to me. Reviewed-by: Eric Anholt pgpb0RJC1ImZc.pgp Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers.
Fixes fbo-drawbuffers-arbfp. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34321 --- src/mesa/program/program_parse.y | 15 +++ src/mesa/program/program_parser.h |1 + 2 files changed, 16 insertions(+), 0 deletions(-) diff --git a/src/mesa/program/program_parse.y b/src/mesa/program/program_parse.y index 19aa8cc..c725a8b 100644 --- a/src/mesa/program/program_parse.y +++ b/src/mesa/program/program_parse.y @@ -2064,6 +2064,20 @@ optResultFaceType: ? VERT_RESULT_COL0 : FRAG_RESULT_COLOR; } + | '[' INTEGER ']' + { + if (state->mode == ARB_vertex) { + yyerror(& @1, state, "invalid program result name"); + YYERROR; + } else { + if ($2 >= state->MaxDrawBuffers) { +yyerror(& @1, state, +"result.color[] exceeds MAX_DRAW_BUFFERS_ARB"); +YYERROR; + } + $$ = FRAG_RESULT_DATA0 + $2; + } + } | FRONT { if (state->mode == ARB_vertex) { @@ -2681,6 +2695,7 @@ _mesa_parse_arb_program(struct gl_context *ctx, GLenum target, const GLubyte *st state->MaxClipPlanes = ctx->Const.MaxClipPlanes; state->MaxLights = ctx->Const.MaxLights; state->MaxProgramMatrices = ctx->Const.MaxProgramMatrices; + state->MaxDrawBuffers = ctx->Const.MaxDrawBuffers; state->state_param_enum = (target == GL_VERTEX_PROGRAM_ARB) ? STATE_VERTEX_PROGRAM : STATE_FRAGMENT_PROGRAM; diff --git a/src/mesa/program/program_parser.h b/src/mesa/program/program_parser.h index d689eef..8e5aaee 100644 --- a/src/mesa/program/program_parser.h +++ b/src/mesa/program/program_parser.h @@ -173,6 +173,7 @@ struct asm_parser_state { unsigned MaxClipPlanes; unsigned MaxLights; unsigned MaxProgramMatrices; + unsigned MaxDrawBuffers; /*@}*/ /** -- 1.7.4.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 1/3] r600g: don't flush caches if we already did so, even for a subset of the flags
Merging the flushes that are left doesn't seem to give a significant performance improvement --- src/gallium/winsys/r600/drm/r600_hw_context.c |4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/gallium/winsys/r600/drm/r600_hw_context.c b/src/gallium/winsys/r600/drm/r600_hw_context.c index 7f8da12..bf4e9dc 100644 --- a/src/gallium/winsys/r600/drm/r600_hw_context.c +++ b/src/gallium/winsys/r600/drm/r600_hw_context.c @@ -794,8 +794,8 @@ void r600_context_bo_flush(struct r600_context *ctx, unsigned flush_flags, struct radeon_bo *bo; bo = r600_bo_get_bo(rbo); - /* if bo has already been flush */ - if (!(bo->last_flush ^ flush_flags)) { + /* if bo has already been flushed */ + if (!(~bo->last_flush & flush_flags)) { bo->last_flush &= flush_mask; return; } -- 1.7.3.4 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 2/3] r600g: also flush read caches if currently in use
If a resource isn't set again during a draw and the previous draw had it as colorbuffer, then the read caches wouldn't get invalidated. This hasn't surfaced as a bug yet because all resources are set again due to dirty marking with many false positives. It currently flushes all read caches, because tracking which we exactly need is going to be a world of pain. --- src/gallium/winsys/r600/drm/evergreen_hw_context.c | 32 ++-- src/gallium/winsys/r600/drm/r600_hw_context.c | 38 +++ src/gallium/winsys/r600/drm/r600_priv.h|7 3 files changed, 49 insertions(+), 28 deletions(-) diff --git a/src/gallium/winsys/r600/drm/evergreen_hw_context.c b/src/gallium/winsys/r600/drm/evergreen_hw_context.c index 66398af..fcf73f8 100644 --- a/src/gallium/winsys/r600/drm/evergreen_hw_context.c +++ b/src/gallium/winsys/r600/drm/evergreen_hw_context.c @@ -642,8 +642,8 @@ static inline void evergreen_context_pipe_state_set_resource(struct r600_context block = range->blocks[CTX_BLOCK_ID(ctx, offset)]; if (state == NULL) { block->status &= ~(R600_BLOCK_STATUS_ENABLED | R600_BLOCK_STATUS_DIRTY); - r600_bo_reference(ctx->radeon, &block->reloc[1].bo, NULL); - r600_bo_reference(ctx->radeon , &block->reloc[2].bo, NULL); + r600_block_bo_reference(ctx->radeon, &block->reloc[1].bo, NULL); + r600_block_bo_reference(ctx->radeon , &block->reloc[2].bo, NULL); LIST_DELINIT(&block->list); return; } @@ -655,18 +655,17 @@ static inline void evergreen_context_pipe_state_set_resource(struct r600_context block->reg[5] = state->regs[5].value; block->reg[6] = state->regs[6].value; block->reg[7] = state->regs[7].value; - r600_bo_reference(ctx->radeon, &block->reloc[1].bo, NULL); - r600_bo_reference(ctx->radeon , &block->reloc[2].bo, NULL); + if (state->regs[0].bo) { /* VERTEX RESOURCE, we preted there is 2 bo to relocate so * we have single case btw VERTEX & TEXTURE resource */ - r600_bo_reference(ctx->radeon, &block->reloc[1].bo, state->regs[0].bo); - r600_bo_reference(ctx->radeon, &block->reloc[2].bo, state->regs[0].bo); + r600_block_bo_reference(ctx->radeon, &block->reloc[1].bo, state->regs[0].bo); + r600_block_bo_reference(ctx->radeon, &block->reloc[2].bo, state->regs[0].bo); } else { /* TEXTURE RESOURCE */ - r600_bo_reference(ctx->radeon, &block->reloc[1].bo, state->regs[2].bo); - r600_bo_reference(ctx->radeon, &block->reloc[2].bo, state->regs[3].bo); + r600_block_bo_reference(ctx->radeon, &block->reloc[1].bo, state->regs[2].bo); + r600_block_bo_reference(ctx->radeon, &block->reloc[2].bo, state->regs[3].bo); } if (!(block->status & R600_BLOCK_STATUS_DIRTY)) { block->status |= R600_BLOCK_STATUS_ENABLED; @@ -772,6 +771,7 @@ void evergreen_context_draw(struct r600_context *ctx, const struct r600_draw *dr { struct r600_bo *cb[12]; struct r600_bo *db; + struct r600_bo *sb; unsigned ndwords = 9, flush; struct r600_block *dirty_block = NULL; struct r600_block *next_block; @@ -786,6 +786,7 @@ void evergreen_context_draw(struct r600_context *ctx, const struct r600_draw *dr /* find number of color buffer */ db = r600_context_reg_bo(ctx, R_028048_DB_Z_READ_BASE); + sb = r600_context_reg_bo(ctx, R_02804C_DB_STENCIL_READ_BASE); cb[0] = r600_context_reg_bo(ctx, R_028C60_CB_COLOR0_BASE); cb[1] = r600_context_reg_bo(ctx, R_028C9C_CB_COLOR1_BASE); cb[2] = r600_context_reg_bo(ctx, R_028CD8_CB_COLOR2_BASE); @@ -865,14 +866,21 @@ void evergreen_context_draw(struct r600_context *ctx, const struct r600_draw *dr flush = (S_0085F0_CB0_DEST_BASE_ENA(1) << i) | S_0085F0_CB_ACTION_ENA(1); } + if(cb[i]->use_count > 3) /* the colorbuffer uses don't count and it is used by 3 registers */ + flush |= S_0085F0_SH_ACTION_ENA(1) | S_0085F0_TC_ACTION_ENA(1) + | S_0085F0_VC_ACTION_ENA(1); + r600_context_bo_flush(ctx, flush, 0, cb[i]); } } if (db) { - r600_context_bo_flush(ctx, - S_0085F0_DB_ACTION_ENA(1) | - S_0085F0_DB_DEST_BASE_ENA(1), - 0, db); + flush = S_0085F0_DB_ACTION_ENA(1) | S_0085F0_DB_DEST_BASE_ENA(1); + /* DB is used by 4/6 registers */ + if((db->use_count > 6)||(db->use_count > 4 && sb == NULL)) +
[Mesa-dev] [PATCH 3/3] r600g: only emit blocks when they are changed
previously, we always emitted blocks that were set before a draw, after this patch the block only gets emitted when it is really changed. Also added a force parameter to r600_context_pipe_state_set, because the shader constant buffers need 2 registers in different blocks updated, even if only one is dirty, so those blocks are always marked dirty when they are set. --- src/gallium/drivers/r600/evergreen_state.c | 16 src/gallium/drivers/r600/r600.h|2 +- src/gallium/drivers/r600/r600_state.c | 16 src/gallium/drivers/r600/r600_state_common.c | 22 +- src/gallium/winsys/r600/drm/evergreen_hw_context.c | 33 ++- src/gallium/winsys/r600/drm/r600_hw_context.c | 43 +-- 6 files changed, 97 insertions(+), 35 deletions(-) diff --git a/src/gallium/drivers/r600/evergreen_state.c b/src/gallium/drivers/r600/evergreen_state.c index cff79fa..b8ebae0 100644 --- a/src/gallium/drivers/r600/evergreen_state.c +++ b/src/gallium/drivers/r600/evergreen_state.c @@ -65,7 +65,7 @@ static void evergreen_set_blend_color(struct pipe_context *ctx, free(rctx->states[R600_PIPE_STATE_BLEND_COLOR]); rctx->states[R600_PIPE_STATE_BLEND_COLOR] = rstate; - r600_context_pipe_state_set(&rctx->ctx, rstate); + r600_context_pipe_state_set(&rctx->ctx, rstate,FALSE); } static void *evergreen_create_blend_state(struct pipe_context *ctx, @@ -539,7 +539,7 @@ static void evergreen_set_clip_state(struct pipe_context *ctx, free(rctx->states[R600_PIPE_STATE_CLIP]); rctx->states[R600_PIPE_STATE_CLIP] = rstate; - r600_context_pipe_state_set(&rctx->ctx, rstate); + r600_context_pipe_state_set(&rctx->ctx, rstate,FALSE); } static void evergreen_set_polygon_stipple(struct pipe_context *ctx, @@ -591,7 +591,7 @@ static void evergreen_set_scissor_state(struct pipe_context *ctx, free(rctx->states[R600_PIPE_STATE_SCISSOR]); rctx->states[R600_PIPE_STATE_SCISSOR] = rstate; - r600_context_pipe_state_set(&rctx->ctx, rstate); + r600_context_pipe_state_set(&rctx->ctx, rstate,FALSE); } static void evergreen_set_stencil_ref(struct pipe_context *ctx, @@ -617,7 +617,7 @@ static void evergreen_set_stencil_ref(struct pipe_context *ctx, free(rctx->states[R600_PIPE_STATE_STENCIL_REF]); rctx->states[R600_PIPE_STATE_STENCIL_REF] = rstate; - r600_context_pipe_state_set(&rctx->ctx, rstate); + r600_context_pipe_state_set(&rctx->ctx, rstate,FALSE); } static void evergreen_set_viewport_state(struct pipe_context *ctx, @@ -643,7 +643,7 @@ static void evergreen_set_viewport_state(struct pipe_context *ctx, free(rctx->states[R600_PIPE_STATE_VIEWPORT]); rctx->states[R600_PIPE_STATE_VIEWPORT] = rstate; - r600_context_pipe_state_set(&rctx->ctx, rstate); + r600_context_pipe_state_set(&rctx->ctx, rstate,FALSE); } static void evergreen_cb(struct r600_pipe_context *rctx, struct r600_pipe_state *rstate, @@ -876,7 +876,7 @@ static void evergreen_set_framebuffer_state(struct pipe_context *ctx, free(rctx->states[R600_PIPE_STATE_FRAMEBUFFER]); rctx->states[R600_PIPE_STATE_FRAMEBUFFER] = rstate; - r600_context_pipe_state_set(&rctx->ctx, rstate); + r600_context_pipe_state_set(&rctx->ctx, rstate,FALSE); if (state->zsbuf) { evergreen_polygon_offset_update(rctx); @@ -1276,7 +1276,7 @@ void evergreen_init_config(struct r600_pipe_context *rctx) r600_pipe_state_add_reg(rstate, R_028810_PA_CL_CLIP_CNTL, 0x0, 0x, NULL); - r600_context_pipe_state_set(&rctx->ctx, rstate); + r600_context_pipe_state_set(&rctx->ctx, rstate,FALSE); } void evergreen_polygon_offset_update(struct r600_pipe_context *rctx) @@ -1324,7 +1324,7 @@ void evergreen_polygon_offset_update(struct r600_pipe_context *rctx) r600_pipe_state_add_reg(&state, R_028B78_PA_SU_POLY_OFFSET_DB_FMT_CNTL, offset_db_fmt_cntl, 0x, NULL); - r600_context_pipe_state_set(&rctx->ctx, &state); + r600_context_pipe_state_set(&rctx->ctx, &state,FALSE); } } diff --git a/src/gallium/drivers/r600/r600.h b/src/gallium/drivers/r600/r600.h index 4256a7e..d34f560 100644 --- a/src/gallium/drivers/r600/r600.h +++ b/src/gallium/drivers/r600/r600.h @@ -267,7 +267,7 @@ struct r600_draw { int r600_context_init(struct r600_context *ctx, struct radeon *radeon); void r600_context_fini(struct r600_context *ctx); -void r600_context_pipe_state_set(struct r600_context *ctx, struct r600_pipe_state *state); +void r600_context_pipe_state_set(struct r600_context *ctx, struct r600_pipe_state *state,boolean force); void r600_context_pipe_state_set_ps_resource(struct r600_context *ctx, struct r600_pipe_state *state, unsigned rid); void r600_context_pipe_state_set_vs_resource(stru
[Mesa-dev] [PATCH 3/3] mesa: Expose ATI_draw_buffers.
This is the same as ARB_draw_buffers (which derived from it), except for s/ARB/ATI/. The glapi bits were already in place, and what was missing was just the ARB_fp part. The new Humble Bundle game "trine" tries to use this extension without checking that it's exposed, which this works around. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36182 --- src/mesa/main/extensions.c |1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/src/mesa/main/extensions.c b/src/mesa/main/extensions.c index e5711f2..c452659 100644 --- a/src/mesa/main/extensions.c +++ b/src/mesa/main/extensions.c @@ -262,6 +262,7 @@ static const struct extension extension_table[] = { { "GL_APPLE_packed_pixels", o(APPLE_packed_pixels), GL, 2002 }, { "GL_APPLE_vertex_array_object", o(APPLE_vertex_array_object), GL, 2002 }, { "GL_ATI_blend_equation_separate", o(EXT_blend_equation_separate), GL, 2003 }, + { "GL_ATI_draw_buffers",o(ARB_draw_buffers), GL, 2002 }, { "GL_ATI_envmap_bumpmap", o(ATI_envmap_bumpmap), GL, 2001 }, { "GL_ATI_fragment_shader", o(ATI_fragment_shader), GL, 2001 }, { "GL_ATI_separate_stencil",o(ATI_separate_stencil), GL, 2006 }, -- 1.7.4.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 2/3] mesa: Add support for OPTION ATI_draw_buffers to ARB_fp.
Tested by piglit ati_draw_buffers-arbfp. --- src/mesa/program/program_parse_extra.c | 12 +++- 1 files changed, 11 insertions(+), 1 deletions(-) diff --git a/src/mesa/program/program_parse_extra.c b/src/mesa/program/program_parse_extra.c index ae98b78..9ade9be 100644 --- a/src/mesa/program/program_parse_extra.c +++ b/src/mesa/program/program_parse_extra.c @@ -207,7 +207,7 @@ _mesa_ARBfp_parse_option(struct asm_parser_state *state, const char *option) return 0; } else if (strcmp(option, "draw_buffers") == 0) { /* Don't need to check extension availability because all Mesa-based - * drivers support GL_ARB_draw_buffers. + * drivers support GL_ATI_draw_buffers. */ state->option.DrawBuffers = 1; return 1; @@ -229,6 +229,16 @@ _mesa_ARBfp_parse_option(struct asm_parser_state *state, const char *option) } } } + } else if (strncmp(option, "ATI_", 4) == 0) { + option += 4; + + if (strcmp(option, "draw_buffers") == 0) { +/* Don't need to check extension availability because all Mesa-based + * drivers support GL_ARB_draw_buffers. + */ +state->option.DrawBuffers = 1; +return 1; + } } else if (strncmp(option, "NV_fragment_program", 19) == 0) { option += 19; -- 1.7.4.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH 1/3] mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers.
Fixes fbo-drawbuffers-arbfp. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34321 --- src/mesa/program/program_parse.y | 29 + src/mesa/program/program_parser.h |1 + 2 files changed, 30 insertions(+), 0 deletions(-) diff --git a/src/mesa/program/program_parse.y b/src/mesa/program/program_parse.y index 19aa8cc..b35bc5a 100644 --- a/src/mesa/program/program_parse.y +++ b/src/mesa/program/program_parse.y @@ -2064,6 +2064,34 @@ optResultFaceType: ? VERT_RESULT_COL0 : FRAG_RESULT_COLOR; } + | '[' INTEGER ']' + { + if (state->mode == ARB_vertex) { + yyerror(& @1, state, "invalid program result name"); + YYERROR; + } else { + if (!state->option.DrawBuffers) { +/* From the ARB_draw_buffers spec (same text exists + * for ATI_draw_buffers): + * + * If this option is not specified, a fragment + * program that attempts to bind + * "result.color[n]" will fail to load, and only + * "result.color" will be allowed. + */ +yyerror(& @1, state, +"result.color[] used without " +"`OPTION ARB_draw_buffers' or " +"`OPTION ATI_draw_buffers'"); +YYERROR; + } else if ($2 >= state->MaxDrawBuffers) { +yyerror(& @1, state, +"result.color[] exceeds MAX_DRAW_BUFFERS_ARB"); +YYERROR; + } + $$ = FRAG_RESULT_DATA0 + $2; + } + } | FRONT { if (state->mode == ARB_vertex) { @@ -2681,6 +2709,7 @@ _mesa_parse_arb_program(struct gl_context *ctx, GLenum target, const GLubyte *st state->MaxClipPlanes = ctx->Const.MaxClipPlanes; state->MaxLights = ctx->Const.MaxLights; state->MaxProgramMatrices = ctx->Const.MaxProgramMatrices; + state->MaxDrawBuffers = ctx->Const.MaxDrawBuffers; state->state_param_enum = (target == GL_VERTEX_PROGRAM_ARB) ? STATE_VERTEX_PROGRAM : STATE_FRAGMENT_PROGRAM; diff --git a/src/mesa/program/program_parser.h b/src/mesa/program/program_parser.h index d689eef..8e5aaee 100644 --- a/src/mesa/program/program_parser.h +++ b/src/mesa/program/program_parser.h @@ -173,6 +173,7 @@ struct asm_parser_state { unsigned MaxClipPlanes; unsigned MaxLights; unsigned MaxProgramMatrices; + unsigned MaxDrawBuffers; /*@}*/ /** -- 1.7.4.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 Andrei Slavoiu changed: What|Removed |Added CC||ansl...@yahoo.com -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 34321] The ARB_fragment_program subset of ARB_draw_buffers not implemented
https://bugs.freedesktop.org/show_bug.cgi?id=34321 Andrei Slavoiu changed: What|Removed |Added CC||ansl...@yahoo.com -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 Thibaut GIRKA changed: What|Removed |Added CC||t...@sitedethib.com -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/3] mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers.
On 04/13/2011 01:27 PM, Eric Anholt wrote: Fixes fbo-drawbuffers-arbfp. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34321 --- src/mesa/program/program_parse.y | 29 + src/mesa/program/program_parser.h |1 + 2 files changed, 30 insertions(+), 0 deletions(-) diff --git a/src/mesa/program/program_parse.y b/src/mesa/program/program_parse.y index 19aa8cc..b35bc5a 100644 --- a/src/mesa/program/program_parse.y +++ b/src/mesa/program/program_parse.y @@ -2064,6 +2064,34 @@ optResultFaceType: ? VERT_RESULT_COL0 : FRAG_RESULT_COLOR; } + | '[' INTEGER ']' + { + if (state->mode == ARB_vertex) { + yyerror(& @1, state, "invalid program result name"); + YYERROR; + } else { + if (!state->option.DrawBuffers) { +/* From the ARB_draw_buffers spec (same text exists + * for ATI_draw_buffers): + * + * If this option is not specified, a fragment + * program that attempts to bind + * "result.color[n]" will fail to load, and only + * "result.color" will be allowed. + */ +yyerror(& @1, state, +"result.color[] used without " +"`OPTION ARB_draw_buffers' or " +"`OPTION ATI_draw_buffers'"); +YYERROR; + } else if ($2>= state->MaxDrawBuffers) { +yyerror(& @1, state, +"result.color[] exceeds MAX_DRAW_BUFFERS_ARB"); +YYERROR; + } + $$ = FRAG_RESULT_DATA0 + $2; + } + } | FRONT { if (state->mode == ARB_vertex) { @@ -2681,6 +2709,7 @@ _mesa_parse_arb_program(struct gl_context *ctx, GLenum target, const GLubyte *st state->MaxClipPlanes = ctx->Const.MaxClipPlanes; state->MaxLights = ctx->Const.MaxLights; state->MaxProgramMatrices = ctx->Const.MaxProgramMatrices; + state->MaxDrawBuffers = ctx->Const.MaxDrawBuffers; state->state_param_enum = (target == GL_VERTEX_PROGRAM_ARB) ? STATE_VERTEX_PROGRAM : STATE_FRAGMENT_PROGRAM; diff --git a/src/mesa/program/program_parser.h b/src/mesa/program/program_parser.h index d689eef..8e5aaee 100644 --- a/src/mesa/program/program_parser.h +++ b/src/mesa/program/program_parser.h @@ -173,6 +173,7 @@ struct asm_parser_state { unsigned MaxClipPlanes; unsigned MaxLights; unsigned MaxProgramMatrices; + unsigned MaxDrawBuffers; /*@}*/ /** For the series: Signed-off-by: Brian Paul -Brian ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] mesa version for software rendered opengl 2.0 + glsl 1.20 + GL_ARB_framebuffer_object ?
Is there any version of mesa that provides software rendered opengl 2.0 with glsl 1.20 and either GL_ARB_framebuffer_object or one of the exts that replace it. If yes, what is the lowest mesa version that has this support? Also, do you guys have a wiki page that maps which cards and driver versions support what opengl versions and extensions? Martin ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 2/3] mesa: Add support for OPTION ATI_draw_buffers to ARB_fp.
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 04/13/2011 12:27 PM, Eric Anholt wrote: > Tested by piglit ati_draw_buffers-arbfp. > --- > src/mesa/program/program_parse_extra.c | 12 +++- > 1 files changed, 11 insertions(+), 1 deletions(-) > > diff --git a/src/mesa/program/program_parse_extra.c > b/src/mesa/program/program_parse_extra.c > index ae98b78..9ade9be 100644 > --- a/src/mesa/program/program_parse_extra.c > +++ b/src/mesa/program/program_parse_extra.c > @@ -207,7 +207,7 @@ _mesa_ARBfp_parse_option(struct asm_parser_state *state, > const char *option) >return 0; >} else if (strcmp(option, "draw_buffers") == 0) { >/* Don't need to check extension availability because all Mesa-based > - * drivers support GL_ARB_draw_buffers. > + * drivers support GL_ATI_draw_buffers. I don't think you wanted this hunk. > */ >state->option.DrawBuffers = 1; >return 1; > @@ -229,6 +229,16 @@ _mesa_ARBfp_parse_option(struct asm_parser_state *state, > const char *option) > } > } >} > + } else if (strncmp(option, "ATI_", 4) == 0) { > + option += 4; > + > + if (strcmp(option, "draw_buffers") == 0) { > + /* Don't need to check extension availability because all Mesa-based > + * drivers support GL_ARB_draw_buffers. s/ARB/ATI/ Right? > + */ > + state->option.DrawBuffers = 1; > + return 1; > + } > } else if (strncmp(option, "NV_fragment_program", 19) == 0) { >option += 19; > -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAk2mL/QACgkQX1gOwKyEAw/FGwCfUt1Qe9hHMHAZJKnn8F6VnXZw DNQAnjjsa4oRDedQ1dc2PREkHAtlY7VE =uigH -END PGP SIGNATURE- ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/3] mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers.
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 04/13/2011 12:27 PM, Eric Anholt wrote: > Fixes fbo-drawbuffers-arbfp. > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34321 I've been using References: for this lately, and I think Chris has too. I don't care which we use, but I want to use just one. It make grepping through 'git log' a lot easier. What do people typically do in the kernel? I didn't see anything in Documentation/SubmittingPatches. Aside from the comment about the comments in 2/3, Reviewed-by: Ian Romanick > --- > src/mesa/program/program_parse.y | 29 + > src/mesa/program/program_parser.h |1 + > 2 files changed, 30 insertions(+), 0 deletions(-) > > diff --git a/src/mesa/program/program_parse.y > b/src/mesa/program/program_parse.y > index 19aa8cc..b35bc5a 100644 > --- a/src/mesa/program/program_parse.y > +++ b/src/mesa/program/program_parse.y > @@ -2064,6 +2064,34 @@ optResultFaceType: > ? VERT_RESULT_COL0 > : FRAG_RESULT_COLOR; > } > + | '[' INTEGER ']' > + { > +if (state->mode == ARB_vertex) { > + yyerror(& @1, state, "invalid program result name"); > + YYERROR; > +} else { > + if (!state->option.DrawBuffers) { > + /* From the ARB_draw_buffers spec (same text exists > + * for ATI_draw_buffers): > + * > + * If this option is not specified, a fragment > + * program that attempts to bind > + * "result.color[n]" will fail to load, and only > + * "result.color" will be allowed. > + */ > + yyerror(& @1, state, > + "result.color[] used without " > + "`OPTION ARB_draw_buffers' or " > + "`OPTION ATI_draw_buffers'"); > + YYERROR; > + } else if ($2 >= state->MaxDrawBuffers) { > + yyerror(& @1, state, > + "result.color[] exceeds MAX_DRAW_BUFFERS_ARB"); > + YYERROR; > + } > + $$ = FRAG_RESULT_DATA0 + $2; > +} > + } > | FRONT > { > if (state->mode == ARB_vertex) { > @@ -2681,6 +2709,7 @@ _mesa_parse_arb_program(struct gl_context *ctx, GLenum > target, const GLubyte *st > state->MaxClipPlanes = ctx->Const.MaxClipPlanes; > state->MaxLights = ctx->Const.MaxLights; > state->MaxProgramMatrices = ctx->Const.MaxProgramMatrices; > + state->MaxDrawBuffers = ctx->Const.MaxDrawBuffers; > > state->state_param_enum = (target == GL_VERTEX_PROGRAM_ARB) >? STATE_VERTEX_PROGRAM : STATE_FRAGMENT_PROGRAM; > diff --git a/src/mesa/program/program_parser.h > b/src/mesa/program/program_parser.h > index d689eef..8e5aaee 100644 > --- a/src/mesa/program/program_parser.h > +++ b/src/mesa/program/program_parser.h > @@ -173,6 +173,7 @@ struct asm_parser_state { > unsigned MaxClipPlanes; > unsigned MaxLights; > unsigned MaxProgramMatrices; > + unsigned MaxDrawBuffers; > /*@}*/ > > /** -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.11 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEUEARECAAYFAk2mMHQACgkQX1gOwKyEAw/AggCgh++GLUtXq1yWgC65mxu+j9wq 7H0AmLUv9vV0pCkIOdF5omNkhcFeW4w= =BTCi -END PGP SIGNATURE- ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/3] mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers.
On Wed, Apr 13, 2011 at 7:23 PM, Ian Romanick wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > On 04/13/2011 12:27 PM, Eric Anholt wrote: >> Fixes fbo-drawbuffers-arbfp. >> >> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34321 > > I've been using References: for this lately, and I think Chris has too. > I don't care which we use, but I want to use just one. It make > grepping through 'git log' a lot easier. What do people typically do in > the kernel? I didn't see anything in Documentation/SubmittingPatches. > I usually use "Fixes:" but I haven't seen anything consistent. Alex > Aside from the comment about the comments in 2/3, > > Reviewed-by: Ian Romanick > >> --- >> src/mesa/program/program_parse.y | 29 + >> src/mesa/program/program_parser.h | 1 + >> 2 files changed, 30 insertions(+), 0 deletions(-) >> >> diff --git a/src/mesa/program/program_parse.y >> b/src/mesa/program/program_parse.y >> index 19aa8cc..b35bc5a 100644 >> --- a/src/mesa/program/program_parse.y >> +++ b/src/mesa/program/program_parse.y >> @@ -2064,6 +2064,34 @@ optResultFaceType: >> ? VERT_RESULT_COL0 >> : FRAG_RESULT_COLOR; >> } >> + | '[' INTEGER ']' >> + { >> + if (state->mode == ARB_vertex) { >> + yyerror(& @1, state, "invalid program result name"); >> + YYERROR; >> + } else { >> + if (!state->option.DrawBuffers) { >> + /* From the ARB_draw_buffers spec (same text exists >> + * for ATI_draw_buffers): >> + * >> + * If this option is not specified, a fragment >> + * program that attempts to bind >> + * "result.color[n]" will fail to load, and only >> + * "result.color" will be allowed. >> + */ >> + yyerror(& @1, state, >> + "result.color[] used without " >> + "`OPTION ARB_draw_buffers' or " >> + "`OPTION ATI_draw_buffers'"); >> + YYERROR; >> + } else if ($2 >= state->MaxDrawBuffers) { >> + yyerror(& @1, state, >> + "result.color[] exceeds MAX_DRAW_BUFFERS_ARB"); >> + YYERROR; >> + } >> + $$ = FRAG_RESULT_DATA0 + $2; >> + } >> + } >> | FRONT >> { >> if (state->mode == ARB_vertex) { >> @@ -2681,6 +2709,7 @@ _mesa_parse_arb_program(struct gl_context *ctx, GLenum >> target, const GLubyte *st >> state->MaxClipPlanes = ctx->Const.MaxClipPlanes; >> state->MaxLights = ctx->Const.MaxLights; >> state->MaxProgramMatrices = ctx->Const.MaxProgramMatrices; >> + state->MaxDrawBuffers = ctx->Const.MaxDrawBuffers; >> >> state->state_param_enum = (target == GL_VERTEX_PROGRAM_ARB) >> ? STATE_VERTEX_PROGRAM : STATE_FRAGMENT_PROGRAM; >> diff --git a/src/mesa/program/program_parser.h >> b/src/mesa/program/program_parser.h >> index d689eef..8e5aaee 100644 >> --- a/src/mesa/program/program_parser.h >> +++ b/src/mesa/program/program_parser.h >> @@ -173,6 +173,7 @@ struct asm_parser_state { >> unsigned MaxClipPlanes; >> unsigned MaxLights; >> unsigned MaxProgramMatrices; >> + unsigned MaxDrawBuffers; >> /*@}*/ >> >> /** > > -BEGIN PGP SIGNATURE- > Version: GnuPG v1.4.11 (GNU/Linux) > Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ > > iEUEARECAAYFAk2mMHQACgkQX1gOwKyEAw/AggCgh++GLUtXq1yWgC65mxu+j9wq > 7H0AmLUv9vV0pCkIOdF5omNkhcFeW4w= > =BTCi > -END PGP SIGNATURE- > ___ > mesa-dev mailing list > mesa-dev@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/mesa-dev > ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH 1/3] mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers.
On Wed, 13 Apr 2011 16:23:32 -0700, Ian Romanick wrote: > -BEGIN PGP SIGNED MESSAGE- > Hash: SHA1 > > On 04/13/2011 12:27 PM, Eric Anholt wrote: > > Fixes fbo-drawbuffers-arbfp. > > > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34321 > > I've been using References: for this lately, and I think Chris has too. > I don't care which we use, but I want to use just one. It make > grepping through 'git log' a lot easier. What do people typically do in > the kernel? I didn't see anything in Documentation/SubmittingPatches. Me doing "Bugzilla:" came from Chris in the kernel. The kernel appears to contain "all of the above", as measured by grepping for "bugzilla" (i.e. bugzilla.kernel.org). Also, wow, graphics people sure do fix a lot of kernel bugs. pgpMzlBQSJAzb.pgp Description: PGP signature ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] mesa: Fix _mesa_unpack_dudv_span_byte assertion.
It was accepting only GL_DUDV_ATI and not the specific sized format GL_DU8DV8_ATI. Fixes assertion failure at startup in Shadowgrounds. --- Have these assertions in texstore stuff actually proven useful to people? So far it seems like I'm always just adding more entries to them because they never have enough, and any time I want to use this pack/unpack stuff I'm just reading the code anyway since I know the assertions don't match reality. src/mesa/main/pack.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c index 0215458..4bb0a90 100644 --- a/src/mesa/main/pack.c +++ b/src/mesa/main/pack.c @@ -3973,7 +3973,8 @@ _mesa_unpack_dudv_span_byte( struct gl_context *ctx, GLbitfield transferOps ) { ASSERT(dstFormat == GL_DUDV_ATI); - ASSERT(srcFormat == GL_DUDV_ATI); + ASSERT(srcFormat == GL_DUDV_ATI || + srcFormat == GL_DU8DV8_ATI); ASSERT(srcType == GL_UNSIGNED_BYTE || srcType == GL_BYTE || -- 1.7.4.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 34321] The ARB_fragment_program subset of ARB_draw_buffers not implemented
https://bugs.freedesktop.org/show_bug.cgi?id=34321 Eric Anholt changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #1 from Eric Anholt 2011-04-13 18:10:14 PDT --- commit 28cec9e832b716b84c11ddabfcee74e0daf6ec49 Author: Eric Anholt Date: Wed Apr 13 11:09:55 2011 -0700 mesa: Add support for the ARB_fragment_program part of ARB_draw_buffers. Fixes fbo-drawbuffers-arbfp. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=34321 Reviewed-by: Brian Paul Reviewed-by: Ian Romanick -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 Bug 36182 depends on bug 34321, which changed state. Bug 34321 Summary: The ARB_fragment_program subset of ARB_draw_buffers not implemented https://bugs.freedesktop.org/show_bug.cgi?id=34321 What|Old Value |New Value Resolution||FIXED Status|NEW |RESOLVED -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 Eric Anholt changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #13 from Eric Anholt 2011-04-13 18:10:39 PDT --- commit a9a02c8a39620515ec9fd0d774ce329cf67ecb4e Author: Eric Anholt Date: Wed Apr 13 12:02:54 2011 -0700 mesa: Expose ATI_draw_buffers. This is the same as ARB_draw_buffers (which derived from it), except for s/ARB/ATI/. The glapi bits were already in place, and what was missing was just the ARB_fp part. The new Humble Bundle game "trine" tries to use this extension without checking that it's exposed, which this works around. Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=36182 Reviewed-by: Brian Paul Reviewed-by: Ian Romanick -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] mesa version for software rendered opengl 2.0 + glsl 1.20 + GL_ARB_framebuffer_object ?
On 04/13/2011 02:01 PM, Martin Olsson wrote: Is there any version of mesa that provides software rendered opengl 2.0 with glsl 1.20 and either GL_ARB_framebuffer_object or one of the exts that replace it. If yes, what is the lowest mesa version that has this support? Mesa 6.5.3 was the first version to support OpenGL 2.0 and 2.1 with GLSL 1.10. Mesa 7.3 was the first version to support GLSL 1.20 In any case, I'd recommend using the latest Mesa release. You're less likely to run into bugs. In particular, the new GLSL compiler is much better than the old one. Also, do you guys have a wiki page that maps which cards and driver versions support what opengl versions and extensions? I think all the GPUs that support fragment shaders advertise OpenGL 2.1. Older GPUs probably advertise OpenGL 1.5. -Brian ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] [PATCH] mesa: Fix _mesa_unpack_dudv_span_byte assertion.
On 04/13/2011 07:05 PM, Eric Anholt wrote: It was accepting only GL_DUDV_ATI and not the specific sized format GL_DU8DV8_ATI. Fixes assertion failure at startup in Shadowgrounds. --- Have these assertions in texstore stuff actually proven useful to people? Yes, they were very helpful to me when I initially wrote the code. So far it seems like I'm always just adding more entries to them because they never have enough, and any time I want to use this pack/unpack stuff I'm just reading the code anyway since I know the assertions don't match reality. This particular case is unusual because the parameter to glTexImage() has historically always been a generic format like GL_RGBA, GL_INTENSITY, etc. and not a sized format like GL_RGBA8 or GL_INTENSITY16. GL_ATI_envmap_bumpmap seems to be the one oddball in that it allows format=GL_DU8DV8. I prefer to keep the assertions. src/mesa/main/pack.c |3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/src/mesa/main/pack.c b/src/mesa/main/pack.c index 0215458..4bb0a90 100644 --- a/src/mesa/main/pack.c +++ b/src/mesa/main/pack.c @@ -3973,7 +3973,8 @@ _mesa_unpack_dudv_span_byte( struct gl_context *ctx, GLbitfield transferOps ) { ASSERT(dstFormat == GL_DUDV_ATI); - ASSERT(srcFormat == GL_DUDV_ATI); + ASSERT(srcFormat == GL_DUDV_ATI || + srcFormat == GL_DU8DV8_ATI); ASSERT(srcType == GL_UNSIGNED_BYTE || srcType == GL_BYTE || Reviewed-by: Brian Paul ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 --- Comment #14 from imamdxl8...@gmail.com 2011-04-13 22:42:13 PDT --- is this eligible for Mesa 7.10.2 or Mesa 7.10-series. So that Ubuntu 11.04 can use it. Thank you -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
Re: [Mesa-dev] List of OpenGL features/extensions to avoid?
Eric Anholt writes: > That's hard, because floating point framebuffers are so useful (and > obvious). ... and so undeserving of patent protection ... :[ -miles -- Corporation, n. An ingenious device for obtaining individual profit without individual responsibility. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [PATCH] add support for GL_RGBA + GL_UNSIGNED_INT_8_8_8_8 in st_fast_readpixels
As Lightsmark seems to make use of glReadPixels with {GL_RGBA + GL_UNSIGNED_INT_8_8_8_8} parameters, I built a short patch to allow 'st_fast_readpixels' to handle this combination. It's been tested using piglit's pixelFormat test + a custom app. Best regards, --Pierre-Eric From 8c62b42cfb8108da9e87978d55d4daa098c1b390 Mon Sep 17 00:00:00 2001 From: pepp Date: Wed, 13 Apr 2011 13:03:31 +0200 Subject: [PATCH 2/2] add support for GL_RGBA + GL_UNSIGNED_INT_8_8_8_8 in st_fast_readpixels --- src/mesa/state_tracker/st_cb_readpixels.c | 21 - 1 files changed, 20 insertions(+), 1 deletions(-) diff --git a/src/mesa/state_tracker/st_cb_readpixels.c b/src/mesa/state_tracker/st_cb_readpixels.c index 03f58bf..fdb7770 100644 --- a/src/mesa/state_tracker/st_cb_readpixels.c +++ b/src/mesa/state_tracker/st_cb_readpixels.c @@ -201,7 +201,8 @@ st_fast_readpixels(struct gl_context *ctx, struct st_renderbuffer *strb, enum combination { A8R8G8B8_UNORM_TO_RGBA_UBYTE, A8R8G8B8_UNORM_TO_RGB_UBYTE, - A8R8G8B8_UNORM_TO_BGRA_UINT + A8R8G8B8_UNORM_TO_BGRA_UINT, + A8R8G8B8_UNORM_TO_RGBA_UINT } combo; if (ctx->_ImageTransferState) @@ -219,6 +220,10 @@ st_fast_readpixels(struct gl_context *ctx, struct st_renderbuffer *strb, format == GL_BGRA && type == GL_UNSIGNED_INT_8_8_8_8_REV) { combo = A8R8G8B8_UNORM_TO_BGRA_UINT; } + else if (strb->format == PIPE_FORMAT_B8G8R8A8_UNORM && +format == GL_RGBA && type == GL_UNSIGNED_INT_8_8_8_8) { + combo = A8R8G8B8_UNORM_TO_RGBA_UINT; + } else { return GL_FALSE; } @@ -305,6 +310,20 @@ st_fast_readpixels(struct gl_context *ctx, struct st_renderbuffer *strb, y += dy; } break; + case A8R8G8B8_UNORM_TO_RGBA_UINT: + for (row = 0; row < height; row++) { +const GLubyte *src = map + y * trans->stride; +for (col = 0; col < width; col++) { + GLuint pixel = ((GLuint *) src)[col]; + dst[col*4+0] = (pixel >> 24) & 0xff; + dst[col*4+1] = (pixel >> 0) & 0xff; + dst[col*4+2] = (pixel >> 8) & 0xff; + dst[col*4+3] = (pixel >> 16) & 0xff; +} +dst += dstStride; +y += dy; + } + break; default: ; /* nothing */ } -- 1.7.4.1 ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev
[Mesa-dev] [Bug 36182] Game Trine from http://www.humblebundle.com/ needs ATI_draw_buffers
https://bugs.freedesktop.org/show_bug.cgi?id=36182 --- Comment #15 from imamdxl8...@gmail.com 2011-04-13 23:28:52 PDT --- just applied three patches to Mesa 7.10.2 28cec9e832b716b84c11ddabfcee74e0daf6ec49 a9a02c8a39620515ec9fd0d774ce329cf67ecb4e manually to match Mesa 7.10 convention fb6e39737a24f9652b6cdc10067736b8915c61f9 and checked glxinfo | grep GL_ATI GL_APPLE_vertex_array_object, GL_ATI_blend_equation_separate, GL_ATI_draw_buffers, GL_ATI_envmap_bumpmap, GL_ATI_separate_stencil, GL_ATI_texture_env_combine3, GL_IBM_multimode_draw_arrays, and installed the game again and got this message again: Error compiling shaders. Make sure your GPU supports Shader Model 3.0. Additional details may be found in the log. and got this info from log file: 14.4.2011 [16:22] INFO: Vertex profile: arbvp1 INFO: Vertex shader options: INFO: NumTemps=32 INFO: MaxInstructions=4096 INFO: MaxAddressRegs=1 INFO: MaxLocalParams=1024 INFO: Pixel profile: arbfp1 INFO: Pixel shader options: INFO: ARB_draw_buffers INFO: NumTemps=256 INFO: NumInstructionSlots=16384 INFO: NumTexInstructionSlots=16384 INFO: NumMathInstructionSlots=16384 INFO: MaxTexIndirections=16384 INFO: MaxLocalParams=1024 INFO: MaxDrawBuffers=4 ERROR: Cg error: 4 4 (The program could not load.) ERROR: Cg error: 4 4 (The program could not load.) ERROR: Cg error: 4 4 (The program could not load.) ERROR: Cg error: 4 4 (The program could not load.) ERROR: Cg error: 4 4 (The program could not load.) ERROR: Cg error: 4 4 (The program could not load.) ERROR: Cg error: 4 4 (The program could not load.) ERROR: Cg error: 4 4 (The program could not load.) tried different setting (high to low) by game launcher System: Ubuntu 10.10 Linux 2.6.36-02063604-generic Mesa 7.10.2 patched Intel GMA 4500 256MB Thank you -- Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email --- You are receiving this mail because: --- You are the assignee for the bug. ___ mesa-dev mailing list mesa-dev@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/mesa-dev