On 07/15/2015 07:15 PM, Ilia Mirkin wrote:
The reason why you chose to call select_tex_image() several times
through a get_tex_image flow eludes me. Why not just get it once at
the beginning and pass it around? The old APIs also used a
gl_texture_image and not a gl_texture_object. (Obviously the object is
implicitly gettable from the image when necessary.)
It's kind of arbitrary, but I leaned toward passing a gl_texture_object 
and level instead.
Passing a gl_texture_image to getteximage_error_check(), for example, 
wouldn't allow us to get rid of the 'level' parameter since it still 
needs to be error-checked.  We could return a gl_texture_image from 
get_texture_image_dims() but it would be null in a number of situations. 
 Some situations would require raising GL_INVALID_VALUE, others 
GL_INVALID_OPERATION.
I was also hesitant to pass around a gl_texture_image pointer because in 
the case of non-array cube maps we actually care about six 
gl_texture_images.  When the code still passed an image I was often 
asking myself "is this the positive x image or one specified by target 
or one specified by zoffset?"  I found it easier to understand when I 
switched to a gl_texture_object.
select_tex_image() is a cheap call.  Are you concerned about the cost of 
calling it?
-Brian

_______________________________________________
mesa-dev mailing list
mesa-dev@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/mesa-dev

Reply via email to