projects
/
mesa.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
galahad: Implement render_condition.
[mesa.git]
/
src
/
gallium
/
drivers
/
softpipe
/
sp_tex_sample.h
diff --git
a/src/gallium/drivers/softpipe/sp_tex_sample.h
b/src/gallium/drivers/softpipe/sp_tex_sample.h
index 6114acf73717d0d35a1122aead3f706a47645ee9..7fdabd4fd99c744233c6af42385863c44c08e1ee 100644
(file)
--- a/
src/gallium/drivers/softpipe/sp_tex_sample.h
+++ b/
src/gallium/drivers/softpipe/sp_tex_sample.h
@@
-32,7
+32,7
@@
#include "tgsi/tgsi_exec.h"
#include "tgsi/tgsi_exec.h"
-struct sp_sampler_vari
e
nt;
+struct sp_sampler_vari
a
nt;
typedef void (*wrap_nearest_func)(const float s[4],
unsigned size,
typedef void (*wrap_nearest_func)(const float s[4],
unsigned size,
@@
-44,18
+44,18
@@
typedef void (*wrap_linear_func)(const float s[4],
int icoord1[4],
float w[4]);
int icoord1[4],
float w[4]);
-typedef float (*compute_lambda_func)(const struct sp_sampler_vari
e
nt *sampler,
- const float s[QUAD_SIZE],
- const float t[QUAD_SIZE],
- const float p[QUAD_SIZE]);
+typedef float (*compute_lambda_func)(const struct sp_sampler_vari
a
nt *sampler,
+ const float s[
TGSI_
QUAD_SIZE],
+ const float t[
TGSI_
QUAD_SIZE],
+ const float p[
TGSI_
QUAD_SIZE]);
typedef void (*filter_func)(struct tgsi_sampler *tgsi_sampler,
typedef void (*filter_func)(struct tgsi_sampler *tgsi_sampler,
- const float s[QUAD_SIZE],
- const float t[QUAD_SIZE],
- const float p[QUAD_SIZE],
- const float c0[QUAD_SIZE],
+ const float s[
TGSI_
QUAD_SIZE],
+ const float t[
TGSI_
QUAD_SIZE],
+ const float p[
TGSI_
QUAD_SIZE],
+ const float c0[
TGSI_
QUAD_SIZE],
enum tgsi_sampler_control control,
enum tgsi_sampler_control control,
- float rgba[
NUM_CHANNELS][
QUAD_SIZE]);
+ float rgba[
TGSI_NUM_CHANNELS][TGSI_
QUAD_SIZE]);
union sp_sampler_key {
union sp_sampler_key {
@@
-64,7
+64,11
@@
union sp_sampler_key {
unsigned is_pot:1;
unsigned processor:2;
unsigned unit:4;
unsigned is_pot:1;
unsigned processor:2;
unsigned unit:4;
- unsigned pad:22;
+ unsigned swizzle_r:3;
+ unsigned swizzle_g:3;
+ unsigned swizzle_b:3;
+ unsigned swizzle_a:3;
+ unsigned pad:10;
} bits;
unsigned value;
};
} bits;
unsigned value;
};
@@
-72,7
+76,7
@@
union sp_sampler_key {
/**
* Subclass of tgsi_sampler
*/
/**
* Subclass of tgsi_sampler
*/
-struct sp_sampler_vari
e
nt
+struct sp_sampler_vari
a
nt
{
struct tgsi_sampler base; /**< base class */
{
struct tgsi_sampler base; /**< base class */
@@
-85,7
+89,7
@@
struct sp_sampler_varient
/* Currently bound texture:
*/
/* Currently bound texture:
*/
- const struct pipe_
resource *texture
;
+ const struct pipe_
sampler_view *view
;
struct softpipe_tex_tile_cache *cache;
unsigned processor;
struct softpipe_tex_tile_cache *cache;
unsigned processor;
@@
-113,41
+117,42
@@
struct sp_sampler_varient
filter_func mip_filter;
filter_func compare;
filter_func mip_filter;
filter_func compare;
+ filter_func sample_target;
/* Linked list:
*/
/* Linked list:
*/
- struct sp_sampler_vari
e
nt *next;
+ struct sp_sampler_vari
a
nt *next;
};
struct sp_sampler;
};
struct sp_sampler;
-/* Create a sampler vari
e
nt for a given set of non-orthogonal state. Currently the
+/* Create a sampler vari
a
nt for a given set of non-orthogonal state. Currently the
*/
*/
-struct sp_sampler_vari
e
nt *
-sp_create_sampler_vari
e
nt( const struct pipe_sampler_state *sampler,
+struct sp_sampler_vari
a
nt *
+sp_create_sampler_vari
a
nt( const struct pipe_sampler_state *sampler,
const union sp_sampler_key key );
const union sp_sampler_key key );
-void sp_sampler_vari
ent_bind_texture( struct sp_sampler_varient *varie
nt,
-
struct softpipe_tex_tile_cache *tex_cache,
-
const struct pipe_resource *tex
);
+void sp_sampler_vari
ant_bind_view( struct sp_sampler_variant *varia
nt,
+ struct softpipe_tex_tile_cache *tex_cache,
+
const struct pipe_sampler_view *view
);
-void sp_sampler_vari
ent_destroy( struct sp_sampler_varie
nt * );
+void sp_sampler_vari
ant_destroy( struct sp_sampler_varia
nt * );
-static INLINE struct sp_sampler_vari
e
nt *
-sp_sampler_vari
e
nt(const struct tgsi_sampler *sampler)
+static INLINE struct sp_sampler_vari
a
nt *
+sp_sampler_vari
a
nt(const struct tgsi_sampler *sampler)
{
{
- return (struct sp_sampler_vari
e
nt *) sampler;
+ return (struct sp_sampler_vari
a
nt *) sampler;
}
extern void
sp_get_samples(struct tgsi_sampler *tgsi_sampler,
}
extern void
sp_get_samples(struct tgsi_sampler *tgsi_sampler,
- const float s[QUAD_SIZE],
- const float t[QUAD_SIZE],
- const float p[QUAD_SIZE],
+ const float s[
TGSI_
QUAD_SIZE],
+ const float t[
TGSI_
QUAD_SIZE],
+ const float p[
TGSI_
QUAD_SIZE],
float lodbias,
float lodbias,
- float rgba[
NUM_CHANNELS][
QUAD_SIZE]);
+ float rgba[
TGSI_NUM_CHANNELS][TGSI_
QUAD_SIZE]);
#endif /* SP_TEX_SAMPLE_H */
#endif /* SP_TEX_SAMPLE_H */