mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-08 04:48:08 +02:00
winsys/drm: Fix out of scope variable usage
In this particular instance, struct member were used outside of the
block where it was defined. Fix this by moving the definition outside of
block.
Signed-off-by: Deepak Rawat <drawat@vmware.com>
Fixes: 569f838987 ("winsys/svga: Add support for new surface ioctl, multisample pattern")
Reviewed-by: Brian Paul <brianp@vmware.com>
This commit is contained in:
parent
c51312bc94
commit
828e1b0b4c
1 changed files with 13 additions and 12 deletions
|
|
@ -210,6 +210,10 @@ vmw_ioctl_gb_surface_create(struct vmw_winsys_screen *vws,
|
|||
SVGA3dMSQualityLevel qualityLevel,
|
||||
struct vmw_region **p_region)
|
||||
{
|
||||
union {
|
||||
union drm_vmw_gb_surface_create_ext_arg ext_arg;
|
||||
union drm_vmw_gb_surface_create_arg arg;
|
||||
} s_arg;
|
||||
struct drm_vmw_gb_surface_create_rep *rep;
|
||||
struct vmw_region *region = NULL;
|
||||
int ret;
|
||||
|
|
@ -222,12 +226,11 @@ vmw_ioctl_gb_surface_create(struct vmw_winsys_screen *vws,
|
|||
return SVGA3D_INVALID_ID;
|
||||
}
|
||||
|
||||
if (vws->ioctl.have_drm_2_15) {
|
||||
union drm_vmw_gb_surface_create_ext_arg s_arg;
|
||||
struct drm_vmw_gb_surface_create_ext_req *req = &s_arg.req;
|
||||
rep = &s_arg.rep;
|
||||
memset(&s_arg, 0, sizeof(s_arg));
|
||||
|
||||
memset(&s_arg, 0, sizeof(s_arg));
|
||||
if (vws->ioctl.have_drm_2_15) {
|
||||
struct drm_vmw_gb_surface_create_ext_req *req = &s_arg.ext_arg.req;
|
||||
rep = &s_arg.ext_arg.rep;
|
||||
|
||||
req->version = drm_vmw_gb_surface_v1;
|
||||
req->multisample_pattern = multisamplePattern;
|
||||
|
|
@ -267,17 +270,15 @@ vmw_ioctl_gb_surface_create(struct vmw_winsys_screen *vws,
|
|||
buffer_handle : SVGA3D_INVALID_ID;
|
||||
|
||||
ret = drmCommandWriteRead(vws->ioctl.drm_fd,
|
||||
DRM_VMW_GB_SURFACE_CREATE_EXT, &s_arg,
|
||||
sizeof(s_arg));
|
||||
DRM_VMW_GB_SURFACE_CREATE_EXT, &s_arg.ext_arg,
|
||||
sizeof(s_arg.ext_arg));
|
||||
|
||||
if (ret)
|
||||
goto out_fail_create;
|
||||
} else {
|
||||
union drm_vmw_gb_surface_create_arg s_arg;
|
||||
struct drm_vmw_gb_surface_create_req *req = &s_arg.req;
|
||||
rep = &s_arg.rep;
|
||||
struct drm_vmw_gb_surface_create_req *req = &s_arg.arg.req;
|
||||
rep = &s_arg.arg.rep;
|
||||
|
||||
memset(&s_arg, 0, sizeof(s_arg));
|
||||
req->svga3d_flags = (uint32_t) flags;
|
||||
req->format = (uint32_t) format;
|
||||
|
||||
|
|
@ -308,7 +309,7 @@ vmw_ioctl_gb_surface_create(struct vmw_winsys_screen *vws,
|
|||
buffer_handle : SVGA3D_INVALID_ID;
|
||||
|
||||
ret = drmCommandWriteRead(vws->ioctl.drm_fd, DRM_VMW_GB_SURFACE_CREATE,
|
||||
&s_arg, sizeof(s_arg));
|
||||
&s_arg.arg, sizeof(s_arg.arg));
|
||||
|
||||
if (ret)
|
||||
goto out_fail_create;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue