Screen goes black (with artifacts) upon declaration of large array.
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 4/5
- Tempo estimado
- 3-5 dias
- Facilidade para iniciantes
- 30/100
- Tipo de issue
- Bug
- Clareza
- Precisa de esclarecimento
- Status de atividade
- Estagnada
- Stack de tecnologia
- rust
- Domínio
- computer-graphics
Direção de pesquisa
Comece pela função evaluate_function_vector e pela declaração do array basis_eval mostradas no relatório. Reproduza o shader no Vulkan com valores progressivamente maiores de MAXIMUM_ARRAY_SIZE_NO_STD, comparando a saída renderizada e o comportamento do shader gerado. O trabalho estará concluído quando a causa da imagem preta e dos artefatos for identificada e o issue tiver uma correção verificada ou uma limitação documentada.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
I have a fairly complex shader that's doing a lot of numerical analysis on the GPU. One function does this:
pub fn evaluate_function_vector(
&mut self,
x: [S; 3],
degree: usize,
#[cfg(not(feature = "std"))] coefficients: &[S; MAXIMUM_ARRAY_SIZE_NO_STD],
#[cfg(feature = "std")] coefficients: &[S],
) -> S
{
#[cfg(feature = "std")]
let basis_eval = self.eval(x, degree);
#[cfg(not(feature = "std"))]
let basis_eval = {
let mut basis_eval = [S::default(); MAXIMUM_ARRAY_SIZE_NO_STD]; // THIS LINE!!!!!!!!!!!!
self.eval(x, degree, &mut basis_eval);
basis_eval
};
let mut res = S::default();
for i in 0..basis_eval.len()
{
let v = basis_eval[i];
let coeff = coefficients[i];
res += v.clone() * coeff.clone();
}
res
}
I noticed that different sizes of let mut basis_eval = [S::default(); MAXIMUM_ARRAY_SIZE_NO_STD]; // THIS LINE!!!!!!!!!!!! Caused different behaviours. Small sizes would produce the expected image, sizes of about larger than 50 would create a black image with colour noise sprinkled in, as if rendering a corrupted buffer or uninitialized memory.
I am using the latest cargo gpu to compile my shaders afaik.
I am on Garuda Linux, Vulkan version 1.4.321.
- Linguagem predominante
- Rust
- Estrelas
- 3.4k
- Forks
- 132
- Merge médio
- 1d 58min
- PRs com merge (30d)
- 12
Preparar o ambiente
- Sem Dockerfile nem arquivo Docker Compose
- Sem modelo de pull request
- Ler o guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de Rust-GPU/rust-gpu
-
bug
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 75/100
Rust-GPU/rust-gpu#669 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
enhancement
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 68/100
Rust-GPU/rust-gpu#209 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Can `u128`/`i128` alignment be made `16`?Talvez já em andamento @Firestar99 assumiu hoje. Aberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 45/100
Rust-GPU/rust-gpu#665 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 35/100
Rust-GPU/rust-gpu#659 · 8 comentários ·
Mantenedores costumam responder em até 1 dia
-
Adhere to Rust floating-point semanticsTalvez livre de novo @Firestar99 assumiu há 29 dias e não há nenhum pull request aberto. Abertaenhancement
Rust-GPU/rust-gpu#643 · 6 comentários · 1 reação · 1 responsável ·
Mantenedores costumam responder em até 1 dia
Todas as issues de Rust-GPU/rust-gpu
Issues semelhantes
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 75/100
RustCrypto/SSH#596 ·
-
proxy: SQL-over-HTTP turns empty arrays into [""] or [false], or HTTP 500 for int and float arraysAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
neondatabase/neon#12965 ·
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 78/100
goauthentik/authentik#26867 ·
Mantenedores costumam responder em até 1 dia
-
Table and code-block right borders are clipped when the TOC panel is resized wider than the defaultAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 83/100
Mantenedores costumam responder em até 1 dia
-
api bug macos maintainer-needed p2 triaged
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 66/100
Mantenedores costumam responder em até 1 dia