~mmach/netext73/mesa-haswell

« back to all changes in this revision

Viewing changes to src/mesa/main/texstorage.h

  • Committer: mmach
  • Date: 2022-09-22 19:56:13 UTC
  • Revision ID: netbit73@gmail.com-20220922195613-wtik9mmy20tmor0i
2022-09-22 21:17:09

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
/*
2
 
 * Mesa 3-D graphics library
3
 
 *
4
 
 * Copyright (C) 2011  VMware, Inc.  All Rights Reserved.
5
 
 *
6
 
 * Permission is hereby granted, free of charge, to any person obtaining a
7
 
 * copy of this software and associated documentation files (the "Software"),
8
 
 * to deal in the Software without restriction, including without limitation
9
 
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
10
 
 * and/or sell copies of the Software, and to permit persons to whom the
11
 
 * Software is furnished to do so, subject to the following conditions:
12
 
 *
13
 
 * The above copyright notice and this permission notice shall be included
14
 
 * in all copies or substantial portions of the Software.
15
 
 *
16
 
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
17
 
 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
 
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
19
 
 * THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
20
 
 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
21
 
 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
22
 
 * OTHER DEALINGS IN THE SOFTWARE.
23
 
 */
24
 
 
25
 
 
26
 
#ifndef TEXSTORAGE_H
27
 
#define TEXSTORAGE_H
28
 
 
29
 
/**
30
 
 * \name Internal functions
31
 
 */
32
 
/*@{*/
33
 
 
34
 
/**
35
 
 * Texture width, height and depth check shared with the
36
 
 * multisample variants of TexStorage functions.
37
 
 *
38
 
 * From OpenGL 4.5 Core spec, page 260 (section 8.19)
39
 
 *
40
 
 *     "An INVALID_VALUE error is generated if width, height, depth
41
 
 *     or levels are less than 1, for commands with the corresponding
42
 
 *     parameters."
43
 
 *
44
 
 * (referring to TextureStorage* commands, these also match values
45
 
 * specified for OpenGL ES 3.1.)
46
 
 */
47
 
static inline bool
48
 
_mesa_valid_tex_storage_dim(GLsizei width, GLsizei height, GLsizei depth)
49
 
{
50
 
   if (width < 1 || height < 1 || depth < 1)
51
 
      return false;
52
 
   return true;
53
 
}
54
 
 
55
 
/*@}*/
56
 
 
57
 
extern GLboolean
58
 
_mesa_is_legal_tex_storage_format(const struct gl_context *ctx,
59
 
                                  GLenum internalformat);
60
 
 
61
 
extern bool
62
 
_mesa_is_legal_tex_storage_target(const struct gl_context *ctx,
63
 
                                  GLuint dims, GLenum target);
64
 
 
65
 
extern void
66
 
_mesa_texture_storage_memory(struct gl_context *ctx, GLuint dims,
67
 
                             struct gl_texture_object *texObj,
68
 
                             struct gl_memory_object *memObj,
69
 
                             GLenum target, GLsizei levels,
70
 
                             GLenum internalformat, GLsizei width,
71
 
                             GLsizei height, GLsizei depth,
72
 
                             GLuint64 offset, bool dsa);
73
 
 
74
 
#endif /* TEXSTORAGE_H */