[Fix] (MG_Impl): report a buffer texture as the wrong object, not the wrong token

glGetTextureParameter* resolve the texture by name and then hand the work to the
target-based getter, which validates the target it was given. For a buffer texture that
is GL_TEXTURE_BUFFER, and the target form correctly calls that an unaccepted token -
INVALID_ENUM.

By name there is no token to blame. The application named an object that carries none of
the sampler or level state the query reports, which is INVALID_OPERATION (GL 4.6 core
8.11). The four by-name getters check the resolved object before delegating, so the error
describes what the caller actually got wrong.

Fixes direct_state_access.textures_parameter_errors on both backends, taking the group to
74.93% on Espryt and 73.32% on Magma.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01DnW6wQYv2Pvrfisqak8UJu
This commit is contained in:
Claude
2026-08-05 02:36:31 +00:00
parent 658e08c918
commit 7463236b34
3 changed files with 24 additions and 4 deletions
+2 -2
View File
@@ -77,8 +77,8 @@ mustpass list, lavapipe / Mesa 25.2.8, `--deqp-surface-type=fbo`.
| backend | conformance | strict Pass | Fail | InternalError | Crash |
| --- | ---: | ---: | ---: | ---: | ---: |
| DirectGLES | **74.66%** | 67.12% | 86 | 8 | 0 |
| DirectVulkan | **73.05%** | 72.78% | 89 | 8 | 3 |
| DirectGLES | **74.93%** | 67.39% | 85 | 8 | 0 |
| DirectVulkan | **73.32%** | 73.05% | 88 | 8 | 3 |
`textures_storage_multisample_*` is 54 of what remains on either backend and
needs a feature rather than a fix: a multisample texture has to be attachable to