[Mesa-dev] [PATCH] draw: don't crash if GS doesn't emit anything

Marek Olšák maraeo at gmail.com
Wed May 1 08:36:17 PDT 2013


Primitive culling in the geometry shader can be faster if emitting
lots of primitives is a bottleneck, for example rendering to multiple
viewports. The geometry shader execution is not slow per se. It's the
stuff around it that makes it slow. (the primitives might need to be
stored in video memory between shader stages on some hardware)

Marek

On Tue, Apr 30, 2013 at 6:13 PM, Zack Rusin <zackr at vmware.com> wrote:
>> > What is "IA"?
>>
>> "Input Assembly", a D3D10 term that roughly matches pipe_vertex_elements /
>> pipe_vertex_buffer state.
>>
>> BTW, I think that Chris Forbes makes a good  point -- a GS might choose to
>> not emit any vertices (e.g., that does fancy culling) -- so maybe this
>> debugging message should be silent by default.
>
> That's still a silly thing to do, because you're running a high cost operation on the slowest part of the pipeline. Ideally we'd connect to arb_debug_output for this stuff, but currently the most frequent cause of gs/ia not emitting any primitives is that something broke (e.g. one of our instructions is not fully compliant causing vs or gs errors in outputs) and the debug message is quite helpful in figuring that out. Of course I don't have a strong sentimental attachment to a debugging output but this particular one does make my job easier.
>
> z
> _______________________________________________
> mesa-dev mailing list
> mesa-dev at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/mesa-dev


More information about the mesa-dev mailing list