[gles] Fix tex_sub_image_*
calls not always adjusting to target texture
#3641
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Connections
Fixes #3197.
Description
In GLES different arguments have to be passed into
tex_sub_image_*
calls depending on the target texture. Specifically cube maps, 2D texture arrays and cube map arrays. This was done correctly in some calls, specificallywrite_texture
, but not in others.This fixes it.
Testing
There was a test actually testing
copy_external_image_to_texture
for texture array, which was expected to fail, it succeeds now.Details
The following functions now take the array index into account (only listing changes):
copy_external_image_to_texture
when targeting cube maps, 2D texture arrays and cube map arrays.copy_texture_to_texture
when targeting 2D texture arrays and cube map arrays.copy_buffer_to_texture
when targeting uncompressed cube map arrays.copy_buffer_to_texture
when targeting compressed 2D texture arrays and cube map arrays.Basically the change is to make sure that all calls to
tex_sub_image_*
take into account the following:offset_z
parameter.target
parameter.