> Does it mean there will be format fallbacks? Because dword-unaligned but
> still pretty common (i.e. GL1.1) vertex formats aren't supported by r300,
> most often we hit R16G16B16. What will happen when is_format_supported says
> NO to such a format? I hope it won't share the fate of PIPE_CAP_SM3, which
> every in-tree state tracker ignores.

I'm not sure I understand correctly what you are saying.

The idea is to do like you did in your patch, but instead of calling
screen->get_param(screen, PIPE_CAP_HALF_FLOAT_VERTEX), calling
screen->is_format_supported(screen, PIPE_FORMAT_R16G16B16G16,
PIPE_BUFFER, ..., ...).

The PIPE_BUFFER target is supported in gallium-resources, but I'm not
sure whether this way of querying vertex formats is supported; it
would probably need to be added first.

If you mean that r300 doesn't support R16G16B16, I suppose you can
just use R16G16B16A16 and ignore the extra fetched w element (the
vertex buffer stride will make this work properly).

However, if non-dword-aligned vertex buffer strides or vertex element
offsets are not supported, I think you have a serious problem, which
is however independent of half float vertices since I don't think
OpenGL places any alignment constraints on those values (correct me if
I'm wrong).

------------------------------------------------------------------------------
Download Intel® Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Mesa3d-dev mailing list
Mesa3d-dev@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/mesa3d-dev

Reply via email to