Yea, you can specify NSOpenGLPixelFomatAttributes that declare no software 
fallback, and you can also open OpenGL Profiler, launch QC, and set a 
breakpoint on a SW fallback change, (form accelerated to software), you will 
see something like:

        kCGLCPGPUFragmentProcessing:  GL_FALSE
        kCGLCPGPUVertexProcessing:  GL_FALSE

(both fragment operations and vertex operations can individually fall back to 
software, so you can see combinations of either kCGLCPGPUFragmentProcessing 
being true, and kCGLCPGPUVertexProcessing not, or vice versa, depending on what 
hardware you are on and what functionality you are using.

For example, adding a vec3 noise = noise3D(1.0); in to the default vertex 
shader for the GLSL Shader macro patch, I immediately get:

        kCGLCPGPUFragmentProcessing:  GL_TRUE
        kCGLCPGPUVertexProcessing:  GL_FALSE

You can allow software fallback in your pixel format by *ommiting* 

NSOpenGLPFANoRecovery
A Boolean attribute. If present, this attribute indicates that OpenGL’s failure 
recovery mechanisms are disabled. Normally, if an accelerated renderer fails 
due to lack of resources, OpenGL automatically switches to another renderer. 
This attribute disables these features so that rendering is always performed by 
the chosen renderer. This attribute is not generally useful.
Available in Mac OS X v10.0 and later.



On Oct 18, 2010, at 2:57 PM, Mehmet Akten wrote:

> thx for the info. Why don't they implement it if it's declared? Annoying. 
> 
> If it's the gl drivers which do the software fallback, should that not work 
> in my c code too? I'm just doing basic straightforward C OpenGL. Does QC do 
> something to enable the software fallback? Is it related to the gl context 
> creation? (sorry if this is drifting off-list)
> 
> Cheers,
> 
> Memo Akten
> 
> mob: 44 7958 783 832
> blog: www.memo.tv
> work: www.msavisuals.com
> 
> 
>       
> MSA Visuals Ltd.
> Unit 107 Netil Studios
> 1-7 Westgate St.
> London E8 3RL, UK
> +44 20 8123 9986
> www.msavisuals.com
> 
> On 18 Oct 2010, at 19:02, vade wrote:
> 
>> Yes, no modern GPUs support noise () in any dimensionality, and it does 
>> indeed fallback to software. This happens in the GL drivers, not 
>> specifically QC.
>> 
>> On Oct 18, 2010, at 1:45 PM, Mehmet Akten wrote:
>> 
>>> I've been going crazy debugging a c++ app in which I use noise3 in a frag 
>>> shader, and I just get black. My googling has led to the conclusion that 
>>> NVidia doesn't implement noise3 ... but it works in QC! Does QC have some 
>>> kind of software fallback for some functions like noise? That sounds too 
>>> crazy to be true, anyone know about that?
>>> 
>>> This is on lastest macbook pro with 10.6.4 + 330m btw
>>> 
>>> Cheers,
>>> 
>>> Memo Akten
>>> 
>>> mob: 44 7958 783 832
>>> blog: www.memo.tv
>>> work: www.msavisuals.com
>>> 
>>> 
>>>     
>>> MSA Visuals Ltd.
>>> Unit 107 Netil Studios
>>> 1-7 Westgate St.
>>> London E8 3RL, UK
>>> +44 20 8123 9986
>>> www.msavisuals.com
>>> 
>>> _______________________________________________
>>> Do not post admin requests to the list. They will be ignored.
>>> Quartzcomposer-dev mailing list      ([email protected])
>>> Help/Unsubscribe/Update your Subscription:
>>> http://lists.apple.com/mailman/options/quartzcomposer-dev/doktorp%40mac.com
>>> 
>>> This email sent to [email protected]
>> 
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Quartzcomposer-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/quartzcomposer-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to