Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
PojavLauncherTeam
GitHub Repository: PojavLauncherTeam/mesa
Path: blob/21.2-virgl/src/gallium/auxiliary/translate/translate_cache.h
4565 views
1
/*
2
* Copyright 2008 VMware, Inc.
3
* All Rights Reserved.
4
*
5
* Permission is hereby granted, free of charge, to any person obtaining a
6
* copy of this software and associated documentation files (the "Software"),
7
* to deal in the Software without restriction, including without limitation
8
* on the rights to use, copy, modify, merge, publish, distribute, sub
9
* license, and/or sell copies of the Software, and to permit persons to whom
10
* the Software is furnished to do so, subject to the following conditions:
11
*
12
* The above copyright notice and this permission notice (including the next
13
* paragraph) shall be included in all copies or substantial portions of the
14
* Software.
15
*
16
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
17
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
18
* FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
19
* VMWARE AND/OR THEIR SUPPLIERS BE LIABLE FOR ANY CLAIM,
20
* DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
21
* OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
22
* USE OR OTHER DEALINGS IN THE SOFTWARE.
23
*/
24
#ifndef _TRANSLATE_CACHE_H
25
#define _TRANSLATE_CACHE_H
26
27
28
/*******************************************************************************
29
* Translate cache.
30
* Simply used to cache created translates. Avoids unecessary creation of
31
* translate's if one suitable for a given translate_key has already been
32
* created.
33
*
34
* Note: this functionality depends and requires the CSO module.
35
*/
36
struct translate_cache;
37
38
struct translate_key;
39
struct translate;
40
41
struct translate_cache *translate_cache_create( void );
42
void translate_cache_destroy(struct translate_cache *cache);
43
44
/**
45
* Will try to find a translate structure matched by the given key.
46
* If such a structure doesn't exist in the cache the function
47
* will automatically create it, insert it in the cache and
48
* return the created version.
49
*
50
*/
51
struct translate *translate_cache_find(struct translate_cache *cache,
52
struct translate_key *key);
53
54
#endif
55
56