Bug 29522

Summary: [i965] no vertex shader textures supported
Product: Mesa Reporter: Gordon Jin <gordon.jin>
Component: Drivers/DRI/i965Assignee: Eric Anholt <eric>
Status: VERIFIED FIXED QA Contact:
Severity: enhancement    
Priority: medium CC: jinjin.wang, nathanhirschauer, ouping.zhang, tkemenczy, xunx.fang
Version: git   
Hardware: All   
OS: All   
Whiteboard:

Description Gordon Jin 2010-08-11 19:49:59 UTC
src/mesa/drivers/dri/i965/brw_context.c:
   ctx->Const.MaxVertexTextureImageUnits = 0; /* no vertex shader textures */


This gets mesa glsl demo vert-tex fail under i965 with below error (while pass under swrast):
Error: no vertex shader texture units supported.
Comment 1 Eric Anholt 2010-08-17 14:59:39 UTC
Not supporting vertex textures is within spec, but something we plan to change as we work towards GL 3.0.
Comment 2 Eric Anholt 2010-11-09 11:51:41 UTC
*** Bug 31506 has been marked as a duplicate of this bug. ***
Comment 3 Christopher Egert 2011-05-14 15:53:53 UTC
*** Bug 36728 has been marked as a duplicate of this bug. ***
Comment 4 Md Imam Hossain 2011-08-11 02:27:39 UTC
Just to express some finding:

Using,

Linux 3.0.1-030001-generic
X.Org X Server 1.10.1
libdrm-2.4.26
xf86-video-intel-2.16.0
mesa-fa351bd2e0aecccd5ed6ef8744d5ba4a6dbf5d2c

and software rendering of Gallium 0.4 on llvmpipe (LLVM 0x208)
by exporting LIBGL_ALWAYS_SOFTWARE=1 before app

vertex textures demo from "GPU Caps Viewer" program by WINE

runs fairly well around 4 fps, I can remember even on Windows on the same hardware it hardly go over 2 fps.

So, I am just wondering, is there any possibility to integrate this Gallium software rendering to Intel Mesa driver only for this functionality, since hardware does not support it.

Thank you
Comment 5 Ian Romanick 2011-12-23 17:35:01 UTC
*** Bug 43359 has been marked as a duplicate of this bug. ***
Comment 6 Ian Romanick 2011-12-23 17:35:35 UTC
*** Bug 43360 has been marked as a duplicate of this bug. ***
Comment 7 Ian Romanick 2011-12-23 17:37:07 UTC
This should be fixed by:

commit 37d24a70daa41bbad9c7a85dd432f561a172e858
Author: Kenneth Graunke <kenneth@whitecape.org>
Date:   Thu Oct 27 21:57:48 2011 -0700

    i965: Advertise our vertex shader texture units.
    
    Previously, we advertised 0 VS texture units.  Now that we have proper
    support for using the sampling engine in the VS, we can advertise 16,
    which is conveniently the number required for OpenGL 3.0.
    
    v2: Enable on Gen4.  I hacked up my tests to not use flat ivec varyings
        and they pass.
    
    Signed-off-by: Kenneth Graunke <kenneth@whitecape.org>
    Reviewed-by: Eric Anholt <eric@anholt.net>
    Reviewed-by: Ian Romanick <ian.d.romanick@intel.com>
Comment 8 Ian Romanick 2011-12-23 17:39:26 UTC
*** Bug 41609 has been marked as a duplicate of this bug. ***
Comment 9 fangxun 2011-12-25 23:34:38 UTC
Verified with mesa master commit ec4851253bbf7fd7d11c5570f19f9733a885e471.