#ifndef SWR_RESOURCE_H
#define SWR_RESOURCE_H
+#include "memory/SurfaceState.h"
#include "pipe/p_state.h"
#include "api.h"
size_t secondary_mip_offsets[PIPE_MAX_TEXTURE_LEVELS];
enum swr_resource_status status;
+
+ /* last pipe that used (validated) this resource */
+ struct pipe_context *curr_pipe;
};
return (struct swr_resource *)resource;
}
-static INLINE boolean
+static INLINE bool
swr_resource_is_texture(const struct pipe_resource *resource)
{
switch (resource->target) {
case PIPE_BUFFER:
- return FALSE;
+ return false;
case PIPE_TEXTURE_1D:
case PIPE_TEXTURE_1D_ARRAY:
case PIPE_TEXTURE_2D:
case PIPE_TEXTURE_3D:
case PIPE_TEXTURE_CUBE:
case PIPE_TEXTURE_CUBE_ARRAY:
- return TRUE;
+ return true;
default:
assert(0);
- return FALSE;
+ return false;
}
}
assert(!swr_resource_is_texture(resource));
- return swr_r->swr.pBaseAddress;
+ return (uint8_t*)(swr_r->swr.xpBaseAddress);
}
+void swr_invalidate_render_target(struct pipe_context *pipe,
+ uint32_t attachment,
+ uint16_t width, uint16_t height);
+
void swr_store_render_target(struct pipe_context *pipe,
uint32_t attachment,
enum SWR_TILE_STATE post_tile_state);