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