mirror of
https://gitlab.freedesktop.org/mesa/mesa.git
synced 2026-05-22 06:38:09 +02:00
58 lines
1.6 KiB
C
58 lines
1.6 KiB
C
/*
|
|
* Copyright © 2022 Collabora Ltd.
|
|
* SPDX-License-Identifier: MIT
|
|
*/
|
|
#ifndef NIL_FORMAT_H
|
|
#define NIL_FORMAT_H
|
|
|
|
#include <assert.h>
|
|
#include <stdbool.h>
|
|
#include <stdint.h>
|
|
|
|
#include "util/format/u_format.h"
|
|
|
|
struct nv_device_info;
|
|
|
|
/* We don't have our own format enum; we use PIPE_FORMAT for everything */
|
|
|
|
bool nil_format_supports_texturing(struct nv_device_info *dev,
|
|
enum pipe_format format);
|
|
|
|
bool nil_format_supports_filtering(struct nv_device_info *dev,
|
|
enum pipe_format format);
|
|
|
|
bool nil_format_supports_buffer(struct nv_device_info *dev,
|
|
enum pipe_format format);
|
|
|
|
bool nil_format_supports_storage(struct nv_device_info *dev,
|
|
enum pipe_format format);
|
|
|
|
bool nil_format_supports_color_targets(struct nv_device_info *dev,
|
|
enum pipe_format format);
|
|
|
|
bool nil_format_supports_blending(struct nv_device_info *dev,
|
|
enum pipe_format format);
|
|
|
|
bool nil_format_supports_depth_stencil(struct nv_device_info *dev,
|
|
enum pipe_format format);
|
|
|
|
uint8_t nil_format_to_color_target(enum pipe_format format);
|
|
|
|
uint8_t nil_format_to_depth_stencil(enum pipe_format format);
|
|
|
|
struct nil_tic_format {
|
|
unsigned comp_sizes:8;
|
|
unsigned type_r:3;
|
|
unsigned type_g:3;
|
|
unsigned type_b:3;
|
|
unsigned type_a:3;
|
|
unsigned src_x:3;
|
|
unsigned src_y:3;
|
|
unsigned src_z:3;
|
|
unsigned src_w:3;
|
|
};
|
|
|
|
const struct nil_tic_format *
|
|
nil_tic_format_for_pipe(enum pipe_format format);
|
|
|
|
#endif /* NIL_FORMAT_H */
|