<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 22, 2015 at 9:27 AM, Emil Velikov <span dir="ltr"><<a href="mailto:emil.l.velikov@gmail.com" target="_blank">emil.l.velikov@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 05/01/15 17:45, Laura Ekstrand wrote:<br>
> This comment is vague.  Do you have a specific recommendation for the<br>
> code here?<br>
><br>
</span>Seems like I'm way too subtle - yes I have a few.<br>
<br>
<br>
1. Add ARB_direct_state_access to struct gl_extension<br>
--- a/src/mesa/main/mtypes.h<br>
+++ b/src/mesa/main/mtypes.h<br>
@@ -3731,6 +3731,7 @@ struct gl_extensions<br>
    GLboolean ARB_depth_clamp;<br>
    GLboolean ARB_depth_texture;<br>
    GLboolean ARB_derivative_control;<br>
+   GLboolean ARB_direct_state_access<br>
    GLboolean ARB_draw_buffers_blend;<br>
    GLboolean ARB_draw_elements_base_vertex;<br>
<br>
<br>
2. Use it in the extensions table.<br>
<span class="">--- a/src/mesa/main/extensions.c<br>
+++ b/src/mesa/main/extensions.c<br>
@@ -103,6 +103,7 @@ static const struct extension extension_table[] = {<br>
    { "GL_ARB_depth_clamp",                         o(ARB_depth_clamp),<br>
                        GL,             2003 },<br>
    { "GL_ARB_depth_texture",<br>
o(ARB_depth_texture),                       GLL,            2001 },<br>
    { "GL_ARB_derivative_control",<br>
o(ARB_derivative_control),                  GL,             2014 },<br>
+   { "GL_ARB_direct_state_access",<br>
</span>o(ARB_direct_state_access),                 GL,             2014 },<br>
<br>
<br>
3. Make use of if when the spec amends existing behaviour - most of the<br>
spec text as of section "New Tokens" onwards. Clearly with this series<br>
you're adding the new entry points(functions) so it does not apply here :)<br>
<br>
<br>
if (foo->Extensions.ARB_direct_state_access) {<br>
 ....<br>
}<br>
<br>
<br>
Pretty much every extension that was added to mesa follows this approach<br>
so keeping up with traditions is always nice.<br></blockquote><div><br></div><div>Yes, and no...  We have the table of booleans in gl_extensions so that we can expose different extensions/behavior on different drivers.  However, ARB_direct_state_access doesn't actually add new functionality, just new ways of getting at old functionality.  We *should* be able to implement it in a driver-agnostic way entirely within core mesa.  Therefore, there's no reason to be able to shut it off on a per-driver basis and no reason for the flag in gl_extensions.  If we find that, for some reason, we only want to support it in core contexts or that it adds something some drivers can't handle it, then we'll need the flag.<br></div><div>--Jason<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Cheers,<br>
Emil<br>
<br>
P.S. Pardon if my nitpicking came out a bit wierd.<br>
<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
mesa-dev mailing list<br>
<a href="mailto:mesa-dev@lists.freedesktop.org">mesa-dev@lists.freedesktop.org</a><br>
<a href="http://lists.freedesktop.org/mailman/listinfo/mesa-dev" target="_blank">http://lists.freedesktop.org/mailman/listinfo/mesa-dev</a><br>
</div></div></blockquote></div><br></div></div>